Στην Java, ο όρος “τελεστές” (operators) χρησιμοποιείται για να αναφερθεί στα σύμβολα ή τις ειδικές λέξεις που χρησιμοποιούνται για να πραγματοποιούν πράξεις μεταξύ μεταβλητών και τιμών. Παρακάτω παραθέτουμε ένα παράδειγμα που χρησιμοποιεί τον τελεστή “+” για να προσθέσει δύο τιμές:
int x = 5; // Δημιουργία μεταβλητής 'x' και ανάθεση τιμής 5 int y = 3; // Δημιουργία μεταβλητής 'y' και ανάθεση τιμής 3 int sum = x + y; // Δημιουργία μεταβλητής 'sum' και ανάθεση της αθροίσματος των 'x' και 'y' System.out.println(sum); // Εκτύπωση της μεταβλητής 'sum'
Ο παραπάνω κώδικας πραγματοποιεί τις παρακάτω ενέργειες:
- Δημιουργείται μια μεταβλητή
x
και της ανατίθεται η τιμή 5. - Δημιουργείται μια μεταβλητή
y
και της ανατίθεται η τιμή 3. - Δημιουργείται μια μεταβλητή
sum
και της ανατίθεται η τιμή του αθροίσματος των μεταβλητώνx
καιy
, δηλαδή 8. - Εκτυπώνεται η τιμή της μεταβλητής
sum
στην κονσόλα.
Έτσι, στην οθόνη θα εμφανιστεί ο αριθμός 8.
Στην Java, υπάρχουν ποικίλοι τελεστές για τις βασικές αριθμητικές πράξεις, όπως η πρόσθεση, η αφαίρεση, ο πολλαπλασιασμός και η διαίρεση. Επίσης, υπάρχουν τελεστές για λογικές πράξεις, όπως η ισότητα, η ανισότητα και άλλες παρόμοιες συγκρίσεις. Επιπλέον, υπάρχουν και άλλοι τελεστές για πιο προηγμένες λειτουργίες, όπως ο τελεστής τερναρίου που εκφράζει μια συνθήκη με βάση την αλήθεια ή την ψευδαίσθηση, καθώς και ο τελεστής μετατροπής τύπων που επιτρέπει τη μετατροπή μεταξύ διαφορετικών τύπων δεδομένων.
Ο τελεστής “+” χρησιμοποιείται συνήθως για την πρόσθεση δύο τιμών, όπως στο παράδειγμα που αναφέρθηκε προηγουμένως. Ωστόσο, μπορεί επίσης να χρησιμοποιηθεί για να προσθέσει μια μεταβλητή με μια τιμή ή μια μεταβλητή με μια άλλη μεταβλητή:
int x = 5; int y = 3; int sum1 = x + 10; // Προσθήκη της μεταβλητής 'x' με την τιμή 10 int sum2 = x + y; // Προσθήκη της μεταβλητής 'x' με την μεταβλητή 'y'
Στο παραπάνω παράδειγμα, η προσθήκη της μεταβλητής ‘x’ με την τιμή 10 δίνει ως αποτέλεσμα την τιμή 15 (5 + 10), και η προσθήκη της μεταβλητής ‘x’ με την μεταβλητή ‘y’ δίνει ως αποτέλεσμα την τιμή 8 (5 + 3).
Στη Java, οι τελεστές χωρίζονται στις ακόλουθες κατηγορίες:
- Αριθμητικοί τελεστές: Χρησιμοποιούνται για αριθμητικές πράξεις, όπως πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση. Παραδείγματα αριθμητικών τελεστών είναι οι
+
,-
,*
,/
,%
και++
. - Τελεστές ανάθεσης: Χρησιμοποιούνται για την ανάθεση τιμών σε μεταβλητές. Ο τελεστής ανάθεσης είναι ο
=
, που αναθέτει την τιμή του δεξιού μέλους στο αριστερό μέλος. - Συγκριτικοί τελεστές: Χρησιμοποιούνται για την σύγκριση τιμών και επιστρέφουν αποτέλεσμα true ή false. Παραδείγματα συγκριτικών τελεστών είναι οι
==
(ίσο),!=
(διάφορο),<
(μικρότερο),>
(μεγαλύτερο),<=
(μικρότερο ή ίσο) και>=
(μεγαλύτερο ή ίσο). - Λογικοί τελεστές: Χρησιμοποιούνται για λογικές πράξεις και συνθήκες. Οι κύριοι λογικοί τελεστές είναι οι
&&
(λογική σύζευξη),||
(λογική αποκλειστική διάζευξη) και!
(λογική άρνηση). - Δυαδικοί τελεστές: Χρησιμοποιούνται για δυαδικές λειτουργίες, όπως δυαδική αναπαράσταση και δυαδικές μετατοπίσεις. Παραδείγματα δυαδικών τελεστών είναι οι
&
(δυαδική σύζευξη),|
(δυαδική διάζευξη) και<<
(αριστερή μετατόπιση).
Οι τελεστές αυτοί χρησιμοποιούνται στην Java για τη δημιουργία πολύπλοκων εκφράσεων και λογικών συνθηκών που εκτελούν διάφορες ενέργειες.
Οι αριθμητικοί τελεστές χρησιμοποιούνται για τις βασικές πράξεις των μαθηματικών, όπως η πρόσθεση (+), η αφαίρεση (-), ο πολλαπλασιασμός (*) και η διαίρεση (/). Με τη χρήση αυτών των τελεστών, μπορούμε να πραγματοποιήσουμε αριθμητικές πράξεις μεταξύ αριθμών ή μεταβλητών.
Οι τελεστές ανάθεσης χρησιμοποιούνται για να αναθέσουμε τιμές σε μεταβλητές. Ένα παράδειγμα τέτοιου τελεστή είναι ο τελεστής “=” που χρησιμοποιείται για να αναθέσουμε την τιμή μιας έκφρασης σε μια μεταβλητή. Για παράδειγμα, “x = 5;” αναθέτει την τιμή 5 στη μεταβλητή “x”.
Οι συγκριτικοί τελεστές χρησιμοποιούνται για να συγκρίνουμε δύο τιμές και επιστρέφουν μια τιμή αληθούς (true) ή ψευδούς (false), ανάλογα με το αποτέλεσμα της σύγκρισης. Οι συγκριτικοί τελεστές περιλαμβάνουν τον τελεστή ισότητας (==), τον τελεστή ανισότητας (!=), τον τελεστή μεγαλύτερο από (>) και άλλους παρόμοιους τελεστές.
Χρησιμοποιώντας τους συγκεκριμένους τελεστές, μπορούμε να εκτελέσουμε συγκρίσεις και να λαμβάνουμε αποφάσεις βάσει των αποτελεσμάτων των συγκρίσεων.
Οι λογικοί τελεστές χρησιμοποιούνται για να εκτελέσουν λογικές πράξεις σε διάφορες καταστάσεις. Οι τρεις κύριοι λογικοί τελεστές είναι η αληθοφάνεια (AND), η αντίθεση (OR) και η αποκλειστική πρόταση (XOR).
Οι δυαδικοί τελεστές χρησιμοποιούνται για λειτουργίες που αφορούν τα δυαδικά ψηφία των αριθμών. Αυτοί οι τελεστές εκτελούν λογικές πράξεις σε δυαδικό επίπεδο, όπως οι λογικές πύλες (AND, OR, NOT), καθώς και η μετατροπή από δυαδικό σε δεκαδικό σύστημα ή αντίστροφα.
Οι λογικοί τελεστές είναι απαραίτητοι για τον έλεγχο των συνθηκών και την εκτέλεση κατάλληλων ενεργειών βάσει αυτών των συνθηκών. Οι δυαδικοί τελεστές, από την άλλη πλευρά, παίζουν σημαντικό ρόλο στον τομέα της αριθμητικής και της αναπαράστασης δεδομένων.
[adinserter block=”2″]
Οι αριθμητικοί τελεστές χρησιμοποιούνται για τις βασικές πράξεις μαθηματικών.
Το ακόλουθο είναι ένας πίνακας με τους βασικούς αριθμητικούς τελεστές στη Java:
Operator | Name | Description | Example |
---|---|---|---|
+ | Addition | Adds together two values | x + y |
– | Subtraction | Subtracts one value from another | x – y |
* | Multiplication | Multiplies two values | x * y |
/ | Division | Divides one value by another | x / y |
% | Modulus | Returns the division remainder | x % y |
++ | Increment | Increases the value of a variable by 1 | ++x |
— | Decrement | Decreases the value of a variable by 1 | –x |
Οι τελεστές ανάθεσης χρησιμοποιούνται για να αντιστοιχίσουν τιμές σε μεταβλητές.
Στο παράδειγμα παρακάτω, χρησιμοποιούμε τον τελεστή ανάθεσης (=) για να αντιστοιχίσουμε την τιμή 10 σε μια μεταβλητή που ονομάζεται x:
int x = 10;
Η τιμή της μεταβλητής x θα είναι τώρα 10. Παρακάτω παρουσιάζονται οι τελεστές ανάθεσης στη Java:
Τελεστής | Περιγραφή | Παράδειγμα |
---|---|---|
= | Ανάθεση | x = 5; |
+= | Προσθήκη και ανάθεση | x += 5; // ισοδύναμο με x = x + 5; |
-= | Αφαίρεση και ανάθεση | x -= 5; // ισοδύναμο με x = x – 5; |
*= | Πολλαπλασιασμός και ανάθεση | x *= 5; // ισοδύναμο με x = x * 5; |
/= | Διαίρεση και ανάθεση | x /= 5; // ισοδύναμο με x = x / 5; |
%= | Υπόλοιπο διαίρεσης και ανάθεση | x %= 5; // ισοδύναμο με x = x % 5; |
<<= | Αριστερή ολίσθηση και ανάθεση | x <<= 5; // ισοδύναμο με x = x << 5; |
>>= | Δεξιά ολίσθηση και ανάθεση | x >>= 5; // ισοδύναμο με x = x >> 5; |
&= | Τελεία και ανάθεση | x &= 5; |
Συνεχίζοντας με τους τελεστές ανάθεσης στη Java:
Τελεστής | Περιγραφή | Παράδειγμα |
---|---|---|
^= | Περισσότερο και ανάθεση | x ^= 5; // ισοδύναμο με x = x ^ 5; |
|= | Ή και ανάθεση | x |= 5; // ισοδύναμο με x = x | 5; |
&= | Και και ανάθεση | x &= 5; // ισοδύναμο με x = x & 5; |
>>>= | Αναστροφή δεξιά και ανάθεση | x >>>= 5; // ισοδύναμο με x = x >>> 5; |
Παρατηρείτε ότι οι τελεστές ανάθεσης συνδυάζουν μια απλή λειτουργία, όπως η προσθήκη ή η αφαίρεση, με την ανάθεση του αποτελέσματος στη μεταβλητή.
Παρακάτω παρουσιάζονται παραδείγματα χρήσης των τελεστών ανάθεσης στη Java:
int x = 10; x += 5; // ισοδύναμο με x = x + 5; System.out.println(x); // Το αποτέλεσμα θα είναι 15 int y = 20; y -= 5; // ισοδύναμο με y = y - 5; System.out.println(y); // Το αποτέλεσμα θα είναι 15 int z = 5; z *= 4; // ισοδύναμο με z = z * 4; System.out.println(z); // Το αποτέλεσμα θα είναι 20 int a = 100; a /= 10; // ισοδύναμο με a = a / 10; System.out.println(a); // Το αποτέλεσμα θα είναι 10 int b = 15; b %= 4; // ισοδύναμο με b= b % 4; System.out.println(b); // Το αποτέλεσμα θα είναι 3 int c = 5; c &= 3; // ισοδύναμο με c = c & 3; System.out.println(c); // Το αποτέλεσμα θα είναι 1 int d = 16; d >>>= 2; // ισοδύναμο με d = d >>> 2; System.out.println(d); // Το αποτέλεσμα θα είναι 4
Παρατηρείτε ότι οι τελεστές ανάθεσης μπορούν να συνδυαστούν με τους αριθμητικούς τελεστές για να εκτελέσουν αριθμητικές πράξεις και να ενημερώσουν την τιμή της μεταβλητής ταυτόχρονα. Στη συνέχεια, θα δούμε τους τελεστές σύγκρισης στη Java.
Οι συγκριτικοί τελεστές είναι εργαλεία που χρησιμοποιούνται στον προγραμματισμό για να συγκρίνουν δύο τιμές ή μεταβλητές. Η χρήση τους είναι σημαντική, καθώς μας επιτρέπει να αναζητήσουμε απαντήσεις και να λάβουμε αποφάσεις μέσα στο πρόγραμμα.
Οι συγκριτικοί τελεστές μας επιτρέπουν να εκτελέσουμε διάφορες συγκρίσεις, όπως έλεγχος για ισότητα, μεγαλύτερο, μικρότερο, μεγαλύτερο ή ίσο, μικρότερο ή ίσο κλπ. Ανάλογα με το αποτέλεσμα της σύγκρισης, μπορούμε να πάρουμε αποφάσεις και να αλλάξουμε τη ροή του προγράμματος.
Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε τον συγκριτικό τελεστή ισότητας (==) για να ελέγξουμε αν δύο τιμές είναι ίσες, ή τον συγκριτικό τελεστή μεγαλύτερο (>) για να ελέγξουμε αν μια τιμή είναι μεγαλύτερη από μια άλλη.
Οι συγκριτικοί τελεστές μας παρέχουν ένα πολύτιμο εργαλείο για την ανάλυση και τον έλεγχο των δεδομένων μας στον προγραμματισμό.
[adinserter block=”3″]
Η τιμή επιστροφής ενός συγκριτικού είναι είτε αληθής είτε ψευδής. Αυτές οι τιμές είναι γνωστές ως τιμές Boolean, και θα μάθετε περισσότερα για αυτές στο κεφάλαιο Booleans and If..Else.
Στο παρακάτω παράδειγμα, χρησιμοποιούμε τον τελεστή μεγαλύτερο από (>) για να βρούμε αν το 5 είναι μεγαλύτερο από το 3:
Τελεστής | Όνομα | Παράδειγμα |
---|---|---|
== | Ίσον | x == y |
!= | Διάφορο | x != y |
> | Μεγαλύτερο | x > y |
< | Μικρότερο | x < y |
>= | Μεγαλύτερο ή ίσο | x >= y |
<= | Μικρότερο ή ίσο | x <= y |
Παραδείγματα συγκριτικών τελεστών:
int x = 5; int y = 3; // Επιστρέφει true, γιατί το x είναι μεγαλύτερο από το y System.out.println(x > y); // Επιστρέφει false, γιατί το x δεν είναι ίσο με το y System.out.println(x == y); // Επιστρέφει true, γιατί το x είναι μεγαλύτερο ή ίσο με το y System.out.println(x >= y); // Επιστρέφει false, γιατί το y δεν είναι μεγαλύτερο από το x System.out.println(y > x); // Επιστρέφει true, γιατί το y είναι μικρότερο από το x System.out.println(y < x);
Τα αποτελέσματα των παραπάνω εντολών θα είναι:
true false true false true
Μπορούμε επίσης να ελέγξουμε αν μια πρόταση είναι αληθής ή ψευδής χρησιμοποιώντας λογικούς τελεστές.
Οι λογικοί τελεστές χρησιμοποιούνται για να καθορίσουν τη λογική μεταξύ μεταβλητών ή τιμών:
Τελεστής | Όνομα | Περιγραφή | Παράδειγμα |
---|---|---|---|
&& | Λογικό ΚΑΙ | Επιστρέφει true εάν και τα δύο δηλώσεις είναι true | x < 5 && x < 10 |
|| | Λογικό Ή | Επιστρέφει true εάν τουλάχιστον μια δήλωση είναι true | x < 5 || x < 4 |
! | Λογικό όχι | Επιστρέφει το αντίθετο αποτέλεσμα | !(x < 5 && x < 10) |
Οι λογικοί τελεστές επιστρέφουν πάντα μια τιμή true ή false. Εάν τα αποτελέσματα των δηλώσεων στον τελεστή είναι true, τότε η λογική έκφραση επιστρέφει true. Εάν τουλάχιστον μία δήλωση είναι false, τότε η έκφραση επιστρέφει false.
Παραδείγματα λογικών τελεστών:
int x = 5; int y = 3; // Επιστρέφει true, γιατί και οι δύο δηλώσεις είναι true System.out.println(x < 10 && y > 1); // Επιστρέφει true, γιατί τουλάχιστον μία δήλωση είναι true System.out.println(x < 5 || y > 1); // Επιστρέφει false, γιατί το αντίθετο του true είναι false System.out.println(!(x < 5 && y > 1));
Τα αποτελέσματα των παραπάνω εντολών θα είναι:
true true false