Στην Java, υπάρχει ένας τύπος δεδομένων που ονομάζεται boolean και χρησιμοποιείται όταν χρειάζεστε έναν τύπο που μπορεί να έχει μόνο δύο τιμές: true ή false. Ο τύπος boolean χρησιμοποιείται συχνά για την αναπαράσταση συνθηκών ή καταστάσεων που μπορούν να είναι είτε αληθείς (true) είτε ψευδείς (false). Έτσι, μπορείτε να χρησιμοποιήσετε τον τύπο boolean για να αποθηκεύσετε την απάντηση σε μια ερώτηση με ναι ή όχι, ή για να εκφράσετε την ενεργοποίηση ή απενεργοποίηση κάποιας λειτουργίας.
Ένας boolean τύπος δηλώνεται με τη λέξη-κλειδί boolean και μπορεί να πάρει μόνο τις τιμές true ή false:
// Δηλώνουμε μια μεταβλητή με τύπο boolean με όνομα isRaining και τιμή true boolean isRaining = true; // Δηλώνουμε μια μεταβλητή με τύπο boolean με όνομα isSunny και τιμή false boolean isSunny = false; // Εκτυπώνουμε την τιμή της μεταβλητής isRaining System.out.println(isRaining); // Εκτυπώνουμε την τιμή της μεταβλητής isSunny System.out.println(isSunny);
Ο κώδικας δημιουργεί δύο μεταβλητές τύπου boolean, isRaining
και isSunny
, και τους αναθέτει τιμές. Η μεταβλητή isRaining
έχει την τιμή true
, που υποδηλώνει ότι βρέχει, ενώ η μεταβλητή isSunny
έχει την τιμή false
, που υποδηλώνει ότι δεν έχει ηλιοφάνεια.
Στη συνέχεια, ο κώδικας χρησιμοποιεί τη μέθοδο System.out.println()
για να εκτυπώσει τις τιμές των μεταβλητών στην οθόνη. Η πρώτη εκτύπωση εμφανίζει την τιμή της μεταβλητής isRaining
, δηλαδή το true
. Η δεύτερη εκτύπωση εμφανίζει την τιμή της μεταβλητής isSunny
, δηλαδή το false
.
Έτσι, το αποτέλεσμα που θα εμφανιστεί στην οθόνη είναι:
true false
Κάθε τιμή εμφανίζεται σε μια νέα γραμμή, καθώς η μέθοδος System.out.println()
προχωρά σε μια νέα γραμμή μετά την εκτύπωση.
Παρακάτω είναι το παράδειγμα κώδικα που χρησιμοποιεί τις boolean τιμές και τη συνάρτηση main() και εκτυπώνει τα αποτελέσματα:
public class BooleanExample { public static void main(String[] args) { boolean isRaining = true; boolean isSunny = false; // Έλεγχος αν βρέχει if (isRaining) { System.out.println("Take an umbrella with you."); // Πάρε έναν ομπρέλα μαζί σου } else { System.out.println("You don't need an umbrella today."); // Δεν χρειάζεσαι ομπρέλα σήμερα } // Έλεγχος αν είναι ηλιόλουστη η μέρα if (isSunny) { System.out.println("Wear sunscreen."); // Φόρα ηλιοπροστατευτικό κρέμα } else { System.out.println("You don't need sunscreen today."); // Δεν χρειάζεσαι ηλιοπροστασία σήμερα } } }
Ο κώδικας ελέγχει τις μεταβλητές isRaining
και isSunny
για να προβάλλει αντίστοιχα μηνύματα στην οθόνη, ανάλογα με την κατάσταση του καιρού.
Αν η μεταβλητή isRaining
έχει την τιμή true
, τότε εμφανίζεται το μήνυμα “Take an umbrella with you.” (Πάρε έναν ομπρέλα μαζί σου). Αν η τιμή της isRaining
είναι false
, τότε εμφανίζεται το μήνυμα “You don’t need an umbrella today.” (Δεν χρειάζεσαι ομπρέλα σήμερα).
Αντίστοιχα, αν η μεταβλητή isSunny
έχει την τιμή true
, εμφανίζεται το μήνυμα “Wear sunscreen.” (Φόρα ηλιοπροστατευτικό κρέμα). Αν η τιμή της isSunny
είναι false
, εμφανίζεται το μήνυμα “You don’t need sunscreen today.” (Δεν χρειάζεσαι ηλιοπροστασία σήμερα).
Έτσι, ο κώδικας εκτελεί τις συνθήκες ελέγχου και εμφανίζει τα αντίστοιχα μηνύματα στην οθόνη, ανάλογα με την κατάσταση των μεταβλητών isRaining
και isSunny
.
Εάν η μεταβλητή isRaining
έχει την τιμή true
, και η μεταβλητή isSunny
έχει την τιμή false
, τότε το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:
Take an umbrella with you. You don't need sunscreen today.
Αντίθετα, εάν η μεταβλητή isRaining
έχει την τιμή false
, και η μεταβλητή isSunny
έχει την τιμή true
, τότε το αποτέλεσμα που θα εμφανιστεί θα είναι:
You don't need an umbrella today. Wear sunscreen.
Εάν και οι δύο μεταβλητές isRaining
και isSunny
έχουν την τιμή true
ή false
, τότε το αποτέλεσμα που θα εμφανιστεί θα είναι:
Take an umbrella with you. You don't need sunscreen today.
Αντίστοιχα, εάν και οι δύο μεταβλητές isRaining
και isSunny
έχουν την τιμή false
, τότε το αποτέλεσμα που θα εμφανιστεί θα είναι:
You don't need an umbrella today. You don't need sunscreen today.
Το ακριβές αποτέλεσμα εξαρτάται από τις τιμές που έχουν ανατεθεί στις μεταβλητές isRaining
και isSunny
.
Μια Boolean έκφραση αξιολογείται ως μια τιμή Boolean, η οποία μπορεί να είναι είτε true είτε false. Η χρήση της Boolean έκφρασης είναι χρήσιμη για την ανάπτυξη λογικών εκφράσεων και την αξιολόγηση συνθηκών για την εύρεση απαντήσεων.
[adinserter block=”2″]
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε έναν τελεστή σύγκρισης, όπως ο τελεστής μεγαλύτερου από (>) για να διαπιστώσετε εάν μια έκφραση (ή μια μεταβλητή) είναι αληθής ή ψευδής:
int x = 10; // Δημιουργία μεταβλητής x και αρχικοποίησή της με την τιμή 10 int y = 5; // Δημιουργία μεταβλητής y και αρχικοποίησή της με την τιμή 5 boolean result = x > y; // Δημιουργία μεταβλητής result και ανάθεση της τιμής της λογικής έκφρασης x > y System.out.println(result); // Εκτύπωση της τιμής της μεταβλητής result στην οθόνη
Ο παραπάνω κώδικας πραγματοποιεί τις παρακάτω ενέργειες:
- Δημιουργεί δύο ακέραιες μεταβλητές
x
καιy
και τους αναθέτει τις τιμές 10 και 5 αντίστοιχα. - Δημιουργεί μια μεταβλητή
result
τύπου boolean και της αναθέτει την τιμή της λογικής έκφρασηςx > y
, η οποία ελέγχει αν η τιμή τουx
είναι μεγαλύτερη από την τιμή τουy
. - Χρησιμοποιεί τη μέθοδο
System.out.println()
για να εμφανίσει την τιμή της μεταβλητήςresult
στην κονσόλα ή στην οθόνη εξόδου του προγράμματος.
Συνολικά, ο κώδικας αυτός εκτυπώνει το αποτέλεσμα της σύγκρισης των μεταβλητών x
και y
, δηλαδή εάν η τιμή του x
είναι μεγαλύτερη από την τιμή του y
, στην οθόνη.
Αν εκτελέσετε τον παραπάνω κώδικα, το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα εξαρτηθεί από την τιμή των μεταβλητών x
και y
. Αν η τιμή του x
είναι μεγαλύτερη από την τιμή του y
, τότε θα εμφανιστεί το αποτέλεσμα true
. Αν η τιμή του x
δεν είναι μεγαλύτερη από την τιμή του y
, τότε θα εμφανιστεί το αποτέλεσμα false
.
Για παράδειγμα, αν x = 10
και y = 5
, το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:
true
Αντίθετα, αν x = 5
και y = 10
, το αποτέλεσμα που θα εμφανιστεί θα είναι:
false
Αυτό συμβαίνει γιατί η λογική έκφραση x > y
επιστρέφει την τιμή true
όταν η σύγκριση είναι αληθής και την τιμή false
όταν η σύγκριση είναι ψευδής.
Μπορούμε επίσης να χρησιμοποιήσουμε τον τελεστή λογικής OR (ή) για να συγκρίνουμε δύο boolean τιμές και να επιστρέψουμε true αν τουλάχιστον μία από αυτές είναι αληθής:
boolean isSunny = true; // Δημιουργία μεταβλητής 'isSunny' με τιμή true boolean isWarm = false; // Δημιουργία μεταβλητής 'isWarm' με τιμή false boolean shouldGoOutside = isSunny || isWarm; // Δημιουργία μεταβλητής 'shouldGoOutside' που αξιολογείται ως true εάν 'isSunny' είναι true ή 'isWarm' είναι true System.out.println(shouldGoOutside); // Εκτύπωση της τιμής της μεταβλητής 'shouldGoOutside'
Ο παραπάνω κώδικας πραγματοποιεί τις εξής ενέργειες:
- Δημιουργεί δύο μεταβλητές τύπου boolean, την
isSunny
και τηνisWarm
. - Η
isSunny
έχει την τιμήtrue
, ενώ ηisWarm
έχει την τιμήfalse
. - Ακολουθεί η δήλωση της μεταβλητής
shouldGoOutside
, η οποία αξιολογείται ωςtrue
εάν ηisSunny
ή ηisWarm
έχουν τιμήtrue
, χρησιμοποιώντας τον τελεστή λογικής προσθήκης (||
). - Τέλος, η τιμή της μεταβλητής
shouldGoOutside
εκτυπώνεται στην κονσόλα χρησιμοποιώντας τη μέθοδοSystem.out.println()
. Εάν ηshouldGoOutside
έχει την τιμήtrue
, θα εμφανιστεί το μήνυμαtrue
, ενώ αν έχει την τιμήfalse
, θα εμφανιστεί το μήνυμαfalse
.
Συνολικά, ο κώδικας ελέγχει αν είναι ηλιόλουστη ή ζεστή και αποφασίζει εάν θα πρέπει να βγεί κάποιος έξω, με βάση τις τιμές των μεταβλητών isSunny
και isWarm
.
[adinserter block=”3″]
Εάν η μεταβλητή isSunny
έχει την τιμή true
και η μεταβλητή isWarm
έχει την τιμή false
, τότε η μεταβλητή shouldGoOutside
θα αξιολογηθεί ως true
. Επομένως, το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:
true
Αντίθετα, αν και οι δύο μεταβλητές isSunny
και isWarm
είχαν την τιμή false
, τότε η μεταβλητή shouldGoOutside
θα αξιολογούνταν ως false
και το αποτέλεσμα που θα εμφανιζόταν θα ήταν:
false
Αυτό εξαρτάται από τις τιμές που έχουν ανατεθεί στις μεταβλητές isSunny
και isWarm
.
Στα παρακάτω παραδείγματα, χρησιμοποιούμε τον τελεστή ισότητας (==) για να αξιολογήσουμε μια έκφραση:
int x = 10; // Δημιουργία μεταβλητής x και ανάθεση της τιμής 10 int y = 5; // Δημιουργία μεταβλητής y και ανάθεση της τιμής 5 boolean result = x == y; // Ελέγχουμε εάν η τιμή της μεταβλητής x είναι ίση με την τιμή της μεταβλητής y και αποθηκεύουμε το αποτέλεσμα στη μεταβλητή result System.out.println(result); // Εκτύπωση της τιμής της μεταβλητής result στην οθόνη
Ο παραπάνω κώδικας πραγματοποιεί τις παρακάτω ενέργειες:
- Δημιουργεί δύο μεταβλητές
x
καιy
και τους αναθέτει τις τιμές 10 και 5 αντίστοιχα. - Εκτελεί έναν έλεγχο, συγκρίνοντας εάν η τιμή της μεταβλητής
x
είναι ίση με την τιμή της μεταβλητήςy
. - Αποθηκεύει το αποτέλεσμα του ελέγχου στη μεταβλητή
result
που είναι τύπουboolean
. Εάν η συνθήκη είναι αληθής, ηresult
θα πάρει την τιμήtrue
, αλλιώς θα πάρει την τιμήfalse
. - Εκτυπώνει την τιμή της μεταβλητής
result
στην οθόνη. Αν η τιμή τηςresult
είναιtrue
, τότε θα εμφανιστεί το κείμενο “true”. Αν η τιμή τηςresult
είναιfalse
, τότε θα εμφανιστεί το κείμενο “false”.
Συνολικά, ο κώδικας εκτελεί μια σύγκριση μεταξύ των μεταβλητών x
και y
και εμφανίζει το αποτέλεσμα της σύγκρισης στην οθόνη.
Εάν η τιμή της μεταβλητής x
είναι ίση με την τιμή της μεταβλητής y
, τότε το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:
true
Αντίθετα, εάν η τιμή της μεταβλητής x
δεν είναι ίση με την τιμή της μεταβλητής y
, τότε το αποτέλεσμα που θα εμφανιστεί θα είναι:
false
Στην περίπτωση αυτή, καθώς η τιμή της μεταβλητής x
(10) δεν είναι ίση με την τιμή της μεταβλητής y
(5), το αποτέλεσμα που θα εμφανιστεί στην οθόνη θα είναι:
false