Στη Java υπάρχουν δύο διαφορετικοί τύποι αριθμών:
-6, 0, 1, 25, 976 και -500000.-20.4, 0.1, 2.72, 16.984025 και 1024.0.Οι δύο πιο συνηθισμένοι αριθμητικοί τύποι στη Java είναι ο int και ο double.
Ένας int είναι ένας ακέραιος 32 bit και ένας double είναι ένας αριθμός κινητής υποδιαστολής 64 bit.
Η αριθμητική γίνεται με τους τυπικούς αριθμητικούς τελεστές.
Οι αριθμοί μπορούν να συγκριθούν με τους τυπικούς τελεστές σύγκρισης αριθμών (π.χ. 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: ποσοστό επιτυχίας 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 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.