Java에서 숫자를 다룰 때 중요한 점 중 하나는 정수(소수점 뒤에 숫자가 없는 수)와 실수(소수점 뒤에 0개 이상의 숫자가 있는 수)의 구분이에요.
Java에는 int와 double 외에도 다른 데이터 타입이 있어요:
// 8-Bit Integer
byte a = 127;
// 16-Bit Integer
short b = 262143;
// 64-Bit Integer
long d = 18446744073709551999L;
// 32-bit Single-Precision Floating-Point
float e = 5409.29f;
정수와 실수 모두 _ 문자를 _자릿수 구분자_로 사용할 수 있는데, 큰 수를 정의할 때 도움이 돼요:
int largeInt = 1_000_000;
// => 1000000
double largeDouble = 9_876_543.21;
// => 9876543.21
산술 연산은 표준 산술 연산자(+, -, * 등)를 사용해요.
숫자는 표준 비교 연산자(<, >= 등)와 동등 연산자(==), 부등 연산자(!=)를 사용해 비교할 수 있어요.
5 * 6
// => 30
1.2 > 0.8
// => true
120 == 100
// => false
2 != 4
// => true
숫자 타입 사이를 변환할 때는 두 가지 종류의 숫자 변환이 있어요:
int는 double보다 정밀도가 낮기 때문에 int에서 double로 변환하는 것은 안전하고, 따라서 암시적 변환이에요.
반대로 double에서 int로 변환하면 데이터가 손실될 수 있으므로 명시적 변환이 필요해요.
int i = 9;
double d = 2.72;
// Safe conversion, thus implicit conversion
double fromInt = i;
// Potentially unsafe conversion, thus explicit conversion
int fromDouble = (int)d;