Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

자바의 정석 기초편 2-6 본문

JAVA

자바의 정석 기초편 2-6

Daryl 2023. 2. 10. 18:50

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
Comments