Коли ми працюємо з числами в Java, важливо розрізняти цілі числа (числа без цифр після десяткового розділювача) та числа з плаваючою комою (числа з нульовою або більшою кількістю цифр після десяткового розділювача).
У 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;