반응형
접두사
접두사를 사용하여 8진수(0), 16진수(0x), 2진수(0b)를 표현할 수 있다.
int num = 10;
int num1 = 010; // 8 (8진수)
int num2 = 0x11; // 17 (16진수)
int num3 = 0b0011; // 3 (2진수)
접미사
정수 리터럴은 기본적으로 int 형을 표현하므로, long이나 float과 같은 타입을 명시하기 위해서는 접미사를 사용한다.
예를 들어, long a = 3000000000;과 같은 경우 정수(int)로 잡히게 되는데, int는 약 22억까지 표현 가능하므로 범위 밖의 수가 되어버린다.
이를 long 타입으로 만들고 싶으면
long a = 3000000000L; 과 같이 접미사 L을 써주면 long 변수로 잡히게 한다.
long longNumber = 123_123_123_123L; // long을 나타내는 접미사 L
// Java 7부터는 정수 리터럴에 언더바 기호를 사용하여 자릿수를 구분할 수 있다.
참고로 3L + 0.5f 의 결과값은 어떤 타입으로 캐스팅될까?
정답은 float이다. long은 8byte고 float은 4byte, 바이트 수는 더 작지만 표현 범위가 더 크기 때문이다. (부동 소수점 방식)
반응형
'개발_웹 > Java' 카테고리의 다른 글
Java | toString() 메소드로 객체의 정보 출력하기 (0) | 2019.05.10 |
---|---|
Java | enum (열거형) 활용하기 (0) | 2019.05.10 |
Java | 오버라이딩 (overriding, 재정의) (0) | 2019.05.10 |
Java | this, super / this(), super() (0) | 2019.05.09 |
Java | 예외 처리 (try-catch, throw, throws) (0) | 2019.05.09 |