يوجد في Java نوعان مختلفان من الأعداد:
-6 و0 و1 و25 و976 و-500000.-20.4 و0.1 و2.72 و16.984025 و1024.0.أكثر نوعين عدديين شيوعًا في Java هما int وdouble.
النوع int عدد صحيح بسعة 32 بت، والنوع double عدد عشري بسعة 64 بت.
تُجرى العمليات الحسابية باستخدام عوامل الحساب المعيارية.
يمكن مقارنة الأعداد باستخدام عوامل المقارنة العددية المعيارية (مثل 5 > 4 و4 <= 5) وعاملي التساوي (==) وعدم التساوي (!=).
يوجد في Java نوعان من التحويلات العددية:
ولأن النوع int أقل دقة من النوع double، فإن التحويل من int إلى double آمن، لذلك فهو تحويل ضمني.
أما التحويل من double إلى int فقد يعني فقدان بيانات، لذا فهو يتطلب تحويلًا صريحًا.
if-else
أبسط عبارة للتحكم في التدفق في Java هي عبارة if-then.
تُستخدم هذه العبارة لتنفيذ مقطع من الكود فقط عندما يكون شرط معيّن هو true.
تُعرَّف عبارة if-then باستخدام جملة if:
class Car {
void drive() {
// the "if" clause: the car needs to have fuel left to drive
if (fuel > 0) {
// the "then" clause: the car drives, consuming fuel
fuel--;
}
}
}
في المثال أعلاه، إذا نفد وقود السيارة، فلن يؤدي استدعاء الطريقة Car.drive إلى أي شيء.
توفّر عبارة if-then-else مسارًا بديلًا للتنفيذ عندما تكون نتيجة الشرط في جملة if هي false.
يأتي هذا المسار البديل للتنفيذ بعد جملة if، ويُعرَّف باستخدام جملة else:
class Car {
void drive() {
if (fuel > 0) {
fuel--;
} else {
stop();
}
}
}
في المثال أعلاه، إذا نفد وقود السيارة، فسيؤدي استدعاء الطريقة Car.drive إلى استدعاء طريقة أخرى لإيقاف السيارة.
تدعم عبارة if-then-else أيضًا تعدد الشروط باستخدام جملة else if:
class Car {
void drive() {
if (fuel > 5) {
fuel--;
} else if (fuel > 0) {
turnOnFuelLight();
fuel--;
} else {
stop();
}
}
}
في المثال أعلاه، قيادة السيارة عندما يكون الوقود أقل من 5 أو يساويها ستُحرّك السيارة، لكنها ستُضيء مصباح الوقود.
وعندما يصل الوقود إلى 0، تتوقف السيارة عن السير.
في هذا التمرين ستكتب كودًا لتحليل الإنتاج في خط تجميع في مصنع سيارات. يمكن أن تتراوح سرعة خط التجميع بين 0 (متوقف) و10 (الحد الأقصى).
عند أدنى سرعة له (1)، يُنتَج 221 سيارة كل ساعة. ويزداد الإنتاج خطيًا مع السرعة. لذا عندما تكون السرعة 4، ينبغي أن يُنتِج 4 * 221 = 884 سيارة في الساعة. غير أن السرعات الأعلى تزيد احتمال إنتاج سيارات معيبة، لا بد من التخلص منها لاحقًا. يوضح الجدول التالي كيف تؤثر السرعة في معدل النجاح:
1 إلى 4: معدل نجاح 100%.5 إلى 8: معدل نجاح 90%.9: معدل نجاح 80%.10: معدل نجاح 77%.لديك مهمتان.
نفّذ الطريقة CarsAssemble.productionRatePerHour() لحساب معدل إنتاج خط التجميع في الساعة، مع مراعاة سرعة خط التجميع الحالية ومعدل النجاح:
CarsAssemble.productionRatePerHour(6)
// => 1193.4
لاحظ أن القيمة المُرجَعة من النوع double.
نفّذ الطريقة CarsAssemble.workingItemsPerMinute() لحساب عدد السيارات الصالحة المنتَجة في الدقيقة:
CarsAssemble.workingItemsPerMinute(6)
// => 19
لاحظ أن القيمة المُرجَعة من النوع int.
سجّل في Exercism لتتعلّم وتتقن Java عبر 26 مفهومًا158 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.