A Javában két különböző típusú szám létezik:
-6, 0, 1, 25, 976 és -500000.-20.4, 0.1, 2.72, 16.984025 és 1024.0.A Javában a két leggyakoribb numerikus típus az int és a double.
Az int egy 32 bites egész szám, a double pedig egy 64 bites lebegőpontos szám.
A számtani műveleteket a szokásos aritmetikai operátorokkal végezzük el.
A számokat össze lehet hasonlítani a szokásos numerikus összehasonlító operátorokkal (pl. 5 > 4 és 4 <= 5), valamint az egyenlőség (==) és az egyenlőtlenség (!=) operátorokkal.
A Javában kétféle numerikus konverzió létezik:
Mivel az int kevésbé pontos, mint a double, az int-ből double-be való átalakítás biztonságos, ezért implicit konverzió.
A double-ből int-be való átalakítás viszont adatvesztéssel járhat, ezért explicit konverziót igényel.
A Java legalapvetőbb vezérlési utasítása az if-then elágazás.
Ezzel az elágazással csak akkor fut le egy kódrészlet, ha egy adott feltétel true.
Az if-then elágazást az if ág adja meg:
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--;
}
}
}
A fenti példában, ha az autóban nincs üzemanyag, a Car.drive metódus meghívása nem tesz semmit.
Az if-then-else elágazás arra az esetre kínál alternatív végrehajtási utat, amikor az if ágban lévő feltétel false értékűre értékelődik ki.
Ez az alternatív végrehajtási út az if ág után következik, és az else ág adja meg:
class Car {
void drive() {
if (fuel > 0) {
fuel--;
} else {
stop();
}
}
}
A fenti példában, ha az autóban nincs üzemanyag, a Car.drive metódus meghívása egy másik metódust hív meg, amely leállítja az autót.
Az if-then-else elágazás több feltételt is támogat az else if ág használatával:
class Car {
void drive() {
if (fuel > 5) {
fuel--;
} else if (fuel > 0) {
turnOnFuelLight();
fuel--;
} else {
stop();
}
}
}
A fenti példában, ha az üzemanyag kevesebb vagy egyenlő, mint 5, az autó továbbra is halad, de felgyullad az üzemanyaglámpa.
Amikor az üzemanyag eléri a 0-t, az autó megáll.
Ebben a feladatban egy autógyár összeszerelősorának termelését elemző kódot írsz. Az összeszerelősor sebessége 0 (kikapcsolva) és 10 (maximum) között lehet.
A legalacsonyabb sebességén (1) óránként 221 autó készül. A termelés lineárisan nő a sebességgel. Ha tehát a sebesség 4, akkor óránként 4 * 221 = 884 autót kell gyártania. A nagyobb sebesség viszont növeli a hibás autók arányát, amelyeket aztán ki kell dobni. Az alábbi táblázat mutatja, hogyan befolyásolja a sebesség a sikerességi arányt:
1-től 4-ig: 100%-os sikerességi arány.5-től 8-ig: 90%-os sikerességi arány.9: 80%-os sikerességi arány.10: 77%-os sikerességi arány.Két részfeladat vár rád.
Valósítsd meg a CarsAssemble.productionRatePerHour() metódust, amely kiszámítja az összeszerelősor óránkénti termelési rátáját, figyelembe véve az összeszerelősor aktuális sebességét és sikerességi arányát:
CarsAssemble.productionRatePerHour(6)
// => 1193.4
Ügyelj rá, hogy a visszaadott érték egy double.
Valósítsd meg a CarsAssemble.workingItemsPerMinute() metódust, amely kiszámítja, hogy hány működő autó készül percenként:
CarsAssemble.workingItemsPerMinute(6)
// => 19
Ügyelj rá, hogy a visszaadott érték egy int.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Java nyelvet 26 fogalom158 feladat segítségével, valódi emberi mentorálással, mindez ingyen.