Computer language/JAVA
JAVA) 리터럴(literal) 이란?
surhommejk
2018. 1. 24. 15:27
예제를 통해 알아본다
//리터럴(literal)의 범위와 리터럴(literal)의 의미에 대해 알아보자
long number1 = 1000000000; // vs long number2 = 10000000000; <- 후자는 error가 발생
/*
why? >> 리터럴은 말 그대로 '문자 그대로의' 값을 말한다. 그런데 문제는 자바 내에서 리터럴의 범위가
int로 한정되어 있다는 것이다. 즉, 후자는 100억을 넘어가면서 int가 포함할 수 있는 범위를
넘어서므로 소화를 못해내어서 에러가 나는 것이다.
즉, type인 long이 100억을 못받아서가 아니고 100억이 리터럴 자체의 표현 범위를 벗어났기에
에러가 난 것이다. 따라서 100억 뒤에 접미사인 L을 붙여 줌으로써 100억인 리터럴을 long type으로
만들면 된다. 결국 long number2 = 10000000000L; 으로 수정해주면 에러가 해결된다.
*/