일
자바의 정석 기초편 2-6 본문
2 - 6 리터럴의 타입과 접미사
리터럴의 타입은 6가지임.
리터럴에 붙이는 접미사는 대소문자 구별 안함.

정수형:
int 타입은 접미사 안 붙이고, 값이 20억보다 큰 long 타입은 접미사 L을 붙임.
예를 들어 100억은
long l = 10_000_000_000L;
이렇게 쓸 수 있음.
이때 소문자 l로 쓰면 혼동의 여지가 있어 대문자 L로 쓰는 것을 권장.
실수형:
double 타입의 d는 생략 가능함.
10진수 외에도 2,8,16 진수 표현이 가능함.
2진수는 접두사 0b, 0B / 8진수는 접두사 0 / 16진수는 접두사 0x, 0X 를 붙임.
기호 e는 10의 n제곱이라는 뜻임. 예를 들어
1e3 = 1000.0d 라는 뜻임.
소수점 앞뒤의 0은 생략할 수 있음. 예를 들어
10. = 10.0 / .10 = 0.10 / 10f = 10.0f 라는 뜻임.
문자형:
예시 중 \n은 개행문자, 줄바꿈 문자임.
★변수와 리터럴의 타입이 불일치하는게 가능한 경우도 있음.
1. 범위가 변수 > 리터럴 인 경우
예를 들어
int i = 'A'; // int > char
이것은 변수 i 에 문자 A가 저장되는게 아니라, 문자 A의 문자코드인 65가 저장됨.
long l = 123; // long > int
double d = 3.14f // double > float
이런 식으로 변수의 범위가 리터럴의 범위보다 크면 저장이 가능함.
2. 범위가 변수 < 리터럴 인 경우
예를 들어
long 1 = 3.14f; // error: 정수형 long < 실수형 float
float f = 3.14; // error: float < double
이렇게 변수의 범위보다 리터럴의 범위가 크면 에러가 발생함.
3. byte, short 변수에 int 리터럴 저장이 가능한 경우
byte b =100; // OK. byte 범위(-128~127)에 속함.
byte b = 128; // error.
이클립스 실습 ↓

boolean 타입은 언제나 true 또는 false

byte의 범위 내의 리터럴은 정상적으로 run 가능

8진수의 접두사는 0
16진수의 접두사는 0x, 0X
만약 10진수 출력값 대신 8진수, 16진수 그대로 출력하고 싶다면
println() 대신 printf() 쓰면 됨.

위에서 배운 대로 출력됨.
'JAVA' 카테고리의 다른 글
| 자바의 정석 기초편 2-7~10 (0) | 2023.02.10 |
|---|---|
| 자바의 정석 기초편 2-4~5 (0) | 2023.02.10 |
| 자바의 정석 기초편 2-3 (0) | 2023.02.10 |
| 자바의 정석 기초편 2-1~2 (0) | 2023.02.10 |
| 자바의 정석 기초편 1-17~19 (0) | 2023.02.09 |