In Java ci sono due tipi diversi di numeri:
-6, 0, 1, 25, 976 e -500000.-20.4, 0.1, 2.72, 16.984025 e 1024.0.I due tipi numerici più comuni in Java sono int e double.
Un int è un intero a 32 bit, mentre un double è un numero in virgola mobile a 64 bit.
Le operazioni aritmetiche si eseguono con i normali operatori aritmetici.
I numeri si possono confrontare con i normali operatori di confronto numerico (ad es. 5 > 4 e 4 <= 5) e con gli operatori di uguaglianza (==) e disuguaglianza (!=).
Java ha due tipi di conversione numerica:
Poiché un int ha meno precisione di un double, convertire da int a double è sicuro ed è quindi una conversione implicita.
Al contrario, convertire da double a int potrebbe significare perdere dei dati, quindi richiede una conversione esplicita.
L'istruzione di controllo del flusso più semplice in Java è l'istruzione if-then.
Questa istruzione serve a eseguire una sezione di codice solo se una particolare condizione è true.
Un'istruzione if-then si definisce usando la clausola 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--;
}
}
}
Nell'esempio qui sopra, se l'auto è senza carburante, chiamare il metodo Car.drive non farà nulla.
L'istruzione if-then-else fornisce un percorso di esecuzione alternativo per quando la condizione nella clausola if si valuta come false.
Questo percorso di esecuzione alternativo segue una clausola if e si definisce usando la clausola else:
class Car {
void drive() {
if (fuel > 0) {
fuel--;
} else {
stop();
}
}
}
Nell'esempio qui sopra, se l'auto è senza carburante, chiamare il metodo Car.drive chiamerà un altro metodo per fermare l'auto.
L'istruzione if-then-else supporta anche più condizioni usando la clausola else if:
class Car {
void drive() {
if (fuel > 5) {
fuel--;
} else if (fuel > 0) {
turnOnFuelLight();
fuel--;
} else {
stop();
}
}
}
Nell'esempio qui sopra, guidare l'auto quando il carburante è minore o uguale a 5 farà muovere l'auto, ma accenderà la spia del carburante.
Quando il carburante arriva a 0, l'auto smetterà di muoversi.
In questo esercizio scriverai del codice per analizzare la produzione di una catena di montaggio in una fabbrica di automobili. La velocità della catena di montaggio può andare da 0 (spenta) a 10 (massima).
Alla velocità più bassa (1), vengono prodotte 221 auto all'ora. La produzione aumenta in modo lineare con la velocità. Quindi, con la velocità impostata a 4, dovrebbe produrre 4 * 221 = 884 auto all'ora. Tuttavia, velocità più alte aumentano la probabilità che vengano prodotte auto difettose, che poi devono essere scartate. La tabella seguente mostra come la velocità influisce sul tasso di successo:
1 a 4: tasso di successo del 100%.5 a 8: tasso di successo del 90%.9: tasso di successo dell'80%.10: tasso di successo del 77%.Hai due attività da svolgere.
Implementa il metodo CarsAssemble.productionRatePerHour() per calcolare la produzione oraria della catena di montaggio, tenendo conto della velocità attuale della catena e del tasso di successo:
CarsAssemble.productionRatePerHour(6)
// => 1193.4
Nota che il valore restituito è un double.
Implementa il metodo CarsAssemble.workingItemsPerMinute() per calcolare quante auto funzionanti vengono prodotte al minuto:
CarsAssemble.workingItemsPerMinute(6)
// => 19
Nota che il valore restituito è un int.
Iscriviti a Exercism per imparare e padroneggiare Java con 26 concetti158 esercizi e il mentoring di persone reali, tutto gratis.