Στην Java, τον όρο “operators” χρησιμοποιούμε για να αναφερθούμε στους τελεστές που χρησιμοποιούνται για να πραγματοποιούν πράξεις σε μεταβλητές και τιμές. Παρακάτω παραθέτουμε ένα παράδειγμα χρησιμοποιώντας τον τελεστή + για να προσθέσουμε δύο τιμές:
int x = 5; int y = 3; int sum = x + y; System.out.println(sum); // Outputs 8
Στο παραπάνω παράδειγμα, οι μεταβλητές x
και y
δηλώνονται ως int και αντιστοιχίζονται στις τιμές 5 και 3 αντίστοιχα. Στη συνέχεια, ο τελεστής + χρησιμοποιείται για να προσθέσει τις δύο τιμές και το αποτέλεσμα αντιστοιχίζεται στη μεταβλητή sum
. Τέλος, το αποτέλεσμα εκτυπώνεται στην οθόνη μέσω της μεθόδου System.out.println()
.
Στη Java, υπάρχουν διάφοροι τελεστές για τις βασικές πράξεις (π.χ. πρόσθεση, αφαίρεση, πολλαπλασιασμός, διαίρεση) και για λογικές πράξεις (π.χ. ισότητα, ανισότητα, κλπ.), καθώς και άλλοι τελεστές για πιο σύνθετες λειτουργίες (π.χ. τελεστής τερναρίου, τελεστής μετατροπής τύπων).
Παρόλο που ο τελεστής + συνήθως χρησιμοποιείται για να προσθέσει δύο τιμές, όπως στο παράδειγμα παραπάνω, μπορεί επίσης να χρησιμοποιηθεί για να προσθέσει μια μεταβλητή και μια τιμή ή μια μεταβλητή και μια άλλη μεταβλητή:
int x = 5; int y = x + 3; System.out.println(y); // Outputs 8
Στο παραπάνω παράδειγμα, η μεταβλητή x
είναι ίση με 5. Στη συνέχεια, ο τελεστής + χρησιμοποιείται για να προσθέσει τη μεταβλητή x
και την τιμή 3 και το αποτέλεσμα αντιστοιχίζεται στη μεταβλητή y
. Τέλος, το αποτέλεσμα εκτυπώνεται στην οθόνη μέσω της μεθόδου System.out.println()
.
Παρατηρήστε ότι μπορούμε να χρησιμοποιήσουμε μια μεταβλητή όπου αναμένεται μια τιμή, καθώς η μεταβλητή αυτή έχει ήδη αντιστοιχιστεί μια τιμή.
Στη Java, οι τελεστές χωρίζονται στις ακόλουθες κατηγορίες:
Αριθμητικοί τελεστές
Τελεστές ανάθεσης
Συγκριτικοί τελεστές
Λογικοί τελεστές
Δυαδικοί τελεστές
Οι αριθμητικοί τελεστές χρησιμοποιούνται για τις βασικές πράξεις μαθηματικών, όπως η πρόσθεση, η αφαίρεση, ο πολλαπλασιασμός και η διαίρεση. Οι τελεστές ανάθεσης χρησιμοποιούνται για την ανάθεση τιμών σε μεταβλητές. Οι συγκριτικοί τελεστές χρησιμοποιούνται για τη σύγκριση δύο τιμών και επιστρέφουν μια τιμή αληθούς ή ψευδούς, ανάλογα με το αποτέλεσμα της σύγκρισης.
Οι λογικοί τελεστές χρησιμοποιούνται για λογικές πράξεις, όπως η αληθοφάνεια, η αντίθεση και η αποκλειστική πρόταση.
Οι δυαδικοί τελεστές χρησιμοποιούνται για τις λειτουργίες στα δυαδικά ψηφία των αριθμών, όπως οι λογικές πράξεις και η μετατροπή από δυαδικό σε δεκαδικό σύστημα.
[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.
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