من أهم الجوانب عند التعامل مع الأعداد في 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
عند التحويل بين الأنواع العددية، يوجد نوعان من التحويلات العددية:
cast.ولأن دقة 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;