정수 리터럴(Integer Literals)
정수 리터럴은 자바에서 가장 기본적인 데이터 타입 중 하나입니다. 정수 리터럴은 소스 코드 내에서 직접 표현된 정수 값을 의미하며, 다양한 형식으로 표현할 수 있습니다.
정수 리터럴의 기본 타입
- 정수 리터럴은 기본적으로
int
타입입니다. - 'L' 또는 'l' 접미사가 붙으면
long
타입이 됩니다. - 대문자 'L'을 사용하는 것이 권장됩니다. 소문자 'l'은 숫자 '1'과 혼동될 수 있기 때문입니다.
정수 리터럴 이해하기
- 10진수(Decimal) 리터럴:
- 우리가 일상적으로 사용하는 숫자 시스템입니다.
- 0부터 9까지의 숫자를 사용합니다.
- 예:
int decimalValue = 26;
- 16진수(Hexadecimal) 리터럴:
- '0x' 또는 '0X'로 시작합니다.
- 0부터 9까지의 숫자와 A부터 F까지의 문자를 사용합니다.
- 예:
int hexadecimalValue = 0x1a;
- 2진수(Binary) 리터럴:
- '0b' 또는 '0B'로 시작합니다.
- 0과 1만을 사용합니다.
- Java SE 7 이상에서 지원됩니다.
- 예:
int binaryValue = 0b11010;
정수 리터럴의 특징
- 범위:
- int 타입의 리터럴은 -2,147,483,648부터 2,147,483,647까지의 값을 가질 수 있습니다.
- long 타입의 리터럴은 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 값을 가질 수 있습니다.
- 언더스코어(_) 사용:
- Java 7 이상에서 숫자 사이에 언더스코어를 사용하여 가독성을 높일 수 있습니다.
- 예:
int million = 1_000_000;
- 부호:
- 기본적으로 양수입니다.
- 음수는 '-' 기호를 앞에 붙여 표현합니다.
- 예:
int negativeNum = -42;
주의사항 및 팁
- 타입 일치:
- 리터럴의 값이 변수의 타입 범위를 벗어나면 컴파일 오류가 발생합니다.
- 예: `byte smallNum = 200; // 오류: byte의 범위를 초과
- 명확성:
- 큰 숫자를 표현할 때는 언더스코어를 사용하여 가독성을 높이는 것이 좋습니다.
- 예: `int bigNum = 1_000_000_000;
- 타입 변환:
- 더 작은 타입으로 할당할 때는 명시적 캐스팅이 필요할 수 있습니다.
- 예:
byte smallNum = (byte) 256;
// 주의: 데이터 손실 가능성 있음
- 리터럴 연산:
- 정수 리터럴 간의 연산은 컴파일 시점에 수행됩니다.
- 예:
int result = 10 * 20;
// 컴파일 후 int result = 200;
- 일반적인 사용:
- 대부분의 일반적인 프로그래밍에서는 10진수 시스템만 사용할 가능성이 높습니다.
- 하지만 특정 상황(예: 비트 조작, 네트워크 프로토콜 등)에서는 16진수나 2진수가 유용할 수 있습니다.
부동소수점 리터럴(Floating-Point Literals)
부동소수점 리터럴은 자바에서 소수점을 가진 숫자를 표현하는 방법입니다. 이 리터럴들은 float
와 double
타입의 변수에 사용됩니다.
부동소수점 리터럴의 형식
- 기본 형식:
double doubleLiteral = 3.14159;
float floatLiteral = 3.14159f;
- 지수 표기법(E-notation):
double doubleExp = 3.14159E-5; float floatExp = 3.14159E-5f;
- 접미사 사용:
D
또는d
:double
타입 (생략 가능)F
또는f
:float
타입- 예:
double d = 123.4D;
,float f1 = 123.4F;
부동소수점 리터럴의 특징
- 기본 타입:
- 부동소수점 리터럴은 기본적으로
double
타입입니다. float
타입을 나타내려면 'f' 또는 'F' 접미사를 사용합니다.
- 부동소수점 리터럴은 기본적으로
- 정밀도:
float
: 약 6-7개의 십진수 자릿수를 정확하게 표현할 수 있습니다.double
: 약 15-16개의 십진수 자릿수를 정확하게 표현할 수 있습니다.
- 범위:
float
: ±3.4028235677973366e+38f (대략 ±10^38)double
: ±1.7976931348623157e+308 (대략 ±10^308)
---
편히 모아진 글 보시려면 아래 위키독스 링크 >>
https://wikidocs.net/book/17111
'JAVA' 카테고리의 다른 글
특별한 리터럴, 숫자 리터럴에서의 밑줄 문자 [코딩백과 with JAVA] (0) | 2024.12.21 |
---|---|
문자 리터럴 [코딩백과 with Java] (2) | 2024.12.20 |
리터럴과 원시 타입 변수 초기화 [코딩백과 with JAVA] (0) | 2024.12.20 |
원시 타입 변수란? [코딩백과 with Java] (0) | 2024.12.20 |
자바 변수 이해하기 - 코딩백과 with JAVA (0) | 2024.12.20 |