در Java دو نوع متفاوت عدد وجود دارد:
-6، 0، 1، 25، 976 و -500000 است.-20.4، 0.1، 2.72، 16.984025 و 1024.0 است.دو نوع عددی رایج در Java، int و double هستند.
یک int عدد صحیحی ۳۲ بیتی است و یک double عددی اعشاری ۶۴ بیتی.
محاسبات با عملگرهای حسابی استاندارد انجام میشود.
اعداد را میتوان با عملگرهای استاندارد مقایسهی عددی (مثلاً 5 > 4 و 4 <= 5) و عملگرهای تساوی (==) و نامساوی (!=) مقایسه کرد.
Java دو نوع تبدیل عددی دارد:
چون int دقت کمتری از double دارد، تبدیل از int به double ایمن است و در نتیجه یک تبدیل ضمنی به شمار میرود.
اما تبدیل از double به int ممکن است به از دست رفتن داده منجر شود، پس به یک تبدیل صریح نیاز دارد.
پایهایترین دستور کنترل جریان در 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: نرخ موفقیت ۱۰۰٪.5 تا 8: نرخ موفقیت ۹۰٪.9: نرخ موفقیت ۸۰٪.10: نرخ موفقیت ۷۷٪.دو وظیفه دارید.
متد CarsAssemble.productionRatePerHour() را پیادهسازی کنید تا نرخ تولید ساعتی خط مونتاژ را با در نظر گرفتن سرعت و نرخ موفقیت فعلی خط مونتاژ محاسبه کنید:
CarsAssemble.productionRatePerHour(6)
// => 1193.4
دقت کنید که مقدار بازگشتی از نوع double است.
متد CarsAssemble.workingItemsPerMinute() را پیادهسازی کنید تا محاسبه کنید در هر دقیقه چند خودروی سالم تولید میشود:
CarsAssemble.workingItemsPerMinute(6)
// => 19
دقت کنید که مقدار بازگشتی از نوع int است.