2.3 Οι τελεστές (Operators) στην Java

Στην Java, ο όρος “τελεστές” (operators) χρησιμοποιείται για να αναφερθεί στα σύμβολα ή τις ειδικές λέξεις που χρησιμοποιούνται για να πραγματοποιούν πράξεις μεταξύ μεταβλητών και τιμών. Παρακάτω παραθέτουμε ένα παράδειγμα που χρησιμοποιεί τον τελεστή “+” για να προσθέσει δύο τιμές:

int x = 5; // Δημιουργία μεταβλητής 'x' και ανάθεση τιμής 5
int y = 3; // Δημιουργία μεταβλητής 'y' και ανάθεση τιμής 3
int sum = x + y; // Δημιουργία μεταβλητής 'sum' και ανάθεση της αθροίσματος των 'x' και 'y'
System.out.println(sum); // Εκτύπωση της μεταβλητής 'sum'

Ο παραπάνω κώδικας πραγματοποιεί τις παρακάτω ενέργειες:

  1. Δημιουργείται μια μεταβλητή x και της ανατίθεται η τιμή 5.
  2. Δημιουργείται μια μεταβλητή y και της ανατίθεται η τιμή 3.
  3. Δημιουργείται μια μεταβλητή sum και της ανατίθεται η τιμή του αθροίσματος των μεταβλητών x και y, δηλαδή 8.
  4. Εκτυπώνεται η τιμή της μεταβλητής 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, οι τελεστές χωρίζονται στις ακόλουθες κατηγορίες:

  1. Αριθμητικοί τελεστές: Χρησιμοποιούνται για αριθμητικές πράξεις, όπως πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση. Παραδείγματα αριθμητικών τελεστών είναι οι +, -, *, /, % και ++.
  2. Τελεστές ανάθεσης: Χρησιμοποιούνται για την ανάθεση τιμών σε μεταβλητές. Ο τελεστής ανάθεσης είναι ο =, που αναθέτει την τιμή του δεξιού μέλους στο αριστερό μέλος.
  3. Συγκριτικοί τελεστές: Χρησιμοποιούνται για την σύγκριση τιμών και επιστρέφουν αποτέλεσμα true ή false. Παραδείγματα συγκριτικών τελεστών είναι οι == (ίσο), != (διάφορο), < (μικρότερο), > (μεγαλύτερο), <= (μικρότερο ή ίσο) και >= (μεγαλύτερο ή ίσο).
  4. Λογικοί τελεστές: Χρησιμοποιούνται για λογικές πράξεις και συνθήκες. Οι κύριοι λογικοί τελεστές είναι οι && (λογική σύζευξη), || (λογική αποκλειστική διάζευξη) και ! (λογική άρνηση).
  5. Δυαδικοί τελεστές: Χρησιμοποιούνται για δυαδικές λειτουργίες, όπως δυαδική αναπαράσταση και δυαδικές μετατοπίσεις. Παραδείγματα δυαδικών τελεστών είναι οι & (δυαδική σύζευξη), | (δυαδική διάζευξη) και << (αριστερή μετατόπιση).

Οι τελεστές αυτοί χρησιμοποιούνται στην Java για τη δημιουργία πολύπλοκων εκφράσεων και λογικών συνθηκών που εκτελούν διάφορες ενέργειες.

Οι αριθμητικοί τελεστές χρησιμοποιούνται για τις βασικές πράξεις των μαθηματικών, όπως η πρόσθεση (+), η αφαίρεση (-), ο πολλαπλασιασμός (*) και η διαίρεση (/). Με τη χρήση αυτών των τελεστών, μπορούμε να πραγματοποιήσουμε αριθμητικές πράξεις μεταξύ αριθμών ή μεταβλητών.

Οι τελεστές ανάθεσης χρησιμοποιούνται για να αναθέσουμε τιμές σε μεταβλητές. Ένα παράδειγμα τέτοιου τελεστή είναι ο τελεστής “=” που χρησιμοποιείται για να αναθέσουμε την τιμή μιας έκφρασης σε μια μεταβλητή. Για παράδειγμα, “x = 5;” αναθέτει την τιμή 5 στη μεταβλητή “x”.

Οι συγκριτικοί τελεστές χρησιμοποιούνται για να συγκρίνουμε δύο τιμές και επιστρέφουν μια τιμή αληθούς (true) ή ψευδούς (false), ανάλογα με το αποτέλεσμα της σύγκρισης. Οι συγκριτικοί τελεστές περιλαμβάνουν τον τελεστή ισότητας (==), τον τελεστή ανισότητας (!=), τον τελεστή μεγαλύτερο από (>) και άλλους παρόμοιους τελεστές.

Χρησιμοποιώντας τους συγκεκριμένους τελεστές, μπορούμε να εκτελέσουμε συγκρίσεις και να λαμβάνουμε αποφάσεις βάσει των αποτελεσμάτων των συγκρίσεων.

Οι λογικοί τελεστές χρησιμοποιούνται για να εκτελέσουν λογικές πράξεις σε διάφορες καταστάσεις. Οι τρεις κύριοι λογικοί τελεστές είναι η αληθοφάνεια (AND), η αντίθεση (OR) και η αποκλειστική πρόταση (XOR).

Οι δυαδικοί τελεστές χρησιμοποιούνται για λειτουργίες που αφορούν τα δυαδικά ψηφία των αριθμών. Αυτοί οι τελεστές εκτελούν λογικές πράξεις σε δυαδικό επίπεδο, όπως οι λογικές πύλες (AND, OR, NOT), καθώς και η μετατροπή από δυαδικό σε δεκαδικό σύστημα ή αντίστροφα.

Οι λογικοί τελεστές είναι απαραίτητοι για τον έλεγχο των συνθηκών και την εκτέλεση κατάλληλων ενεργειών βάσει αυτών των συνθηκών. Οι δυαδικοί τελεστές, από την άλλη πλευρά, παίζουν σημαντικό ρόλο στον τομέα της αριθμητικής και της αναπαράστασης δεδομένων.

[adinserter block=”2″]

Οι αριθμητικοί τελεστές χρησιμοποιούνται για τις βασικές πράξεις μαθηματικών.

Το ακόλουθο είναι ένας πίνακας με τους βασικούς αριθμητικούς τελεστές στη Java:

OperatorNameDescriptionExample
+AdditionAdds together two valuesx + y
SubtractionSubtracts one value from anotherx – y
*MultiplicationMultiplies two valuesx * y
/DivisionDivides one value by anotherx / y
%ModulusReturns the division remainderx % y
++IncrementIncreases the value of a variable by 1++x
DecrementDecreases 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 εάν και τα δύο δηλώσεις είναι truex < 5 && x < 10
||Λογικό ΉΕπιστρέφει true εάν τουλάχιστον μια δήλωση είναι truex < 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
9 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων