Helmi

자바의 정석 ch2 (5-6) 상수와 리터럴, 리터럴 타입과 접미사 본문

JAVA/Java의 정석

자바의 정석 ch2 (5-6) 상수와 리터럴, 리터럴 타입과 접미사

Helmi 2023. 3. 16. 17:37

ch2 -5 상수와 리터럴

※ 변수는 주황색, 상수는 분홍색, 리터럴은 하늘색으로 표시함

변수(variable) : 하나의 값을 저장할 수 있는 메모리 공간

상수(constant) : 한 번만 값을 저장 가능한 변수 (값 변경 불가)

ex) int score = 100;

score = 200;

final int MAX = 100; // MAX는 상수, final 은 상수 선언

MAX = 200; // 에러

리터럴 (literal) : 그 자체로 값을 의미하는 것 (=기존의 상수)

char ch = 'A' ;

String str = "abc" ;

에러 발생시  //출처:유튜브 자바의 정석

 

ch2 -6 리터럴의 타입과 접미사

종류
리터럴
접미사
논리형
false, true
없음
정수형
123, 0b0101, 077, 0xFF, 100L
L
실수형
3.14, 3.0e8, 1.4f, 0x1, 0p-1
f, d
문자형
'A', '1', '\n'
없음
문자열
"ABC", "123", "A", "true"
없음

f : float 타입

d : double 타입 (생략 가능)

접미사는 대소문자 구분하지 않으나, 다른 문자 혹은 숫자와 혼동하기 쉬운 long타입은 대분자 L로 사용

 

출처 : 유튜브  ch2-6 리터럴의 타입과 접미사

변수와 리터럴 타입 불일치

1) 범위가 '변수 > 리터럴' 인 경우, OK

int i = 'A' ; //int > char

long l = 123; // long > int

double d = 3.14f; // double > float

2) 범위가 '변수 < 리터럴'인 경우, 에러

int t = 30_0000_0000; // int의 범위(±20억) 벗어남

long l = 3.15f; // long < float

float f = 3.14(d); // float < double

3) byte, short 변수에 int 리터럴 저장 가능

    (단, 변수의 타입의 범위 이내이어야 함)

byte b = 100; //OK, byte의 범위(-128~127)에 속함

byte b = 128; // 에러. byte 범위 벗어남