Βίντεο: Week 3, continued 2024
Οι μονάδες συνόρων plus και μείον σας επιτρέπουν να αλλάξετε το σήμα ενός τελεστή Java. Σημειώστε ότι ο πραγματικός χειριστής που χρησιμοποιείται για αυτές τις λειτουργίες είναι ο ίδιος με τους δυαδικούς χειριστές προσθήκης και αφαίρεσης. Ο μεταγλωττιστής υπολογίζει αν σκοπεύετε να χρησιμοποιήσετε τη δυαδική ή την unary έκδοση αυτών των χειριστών εξετάζοντας την έκφραση.
Ο φορέας εκμετάλλευσης unary μείον δεν δημιουργεί απαραιτήτως αρνητική τιμή για έναν operand. Αντίθετα, αλλάζει όποιο σημάδι πρέπει να αρχίσει με τον τελεστή. Επομένως, αν ο τελεστής ξεκινά με μια θετική τιμή, ο φορέας unary μείον το αλλάζει σε αρνητικό. Αλλά αν ο τελεστής ξεκινά με μια αρνητική τιμή, ο φορέας εκμετάλλευσης unary μείον το κάνει θετικό. Τα παρακάτω παραδείγματα επεξηγούν αυτό το σημείο:
int a = 5. // a είναι 5
int b = -α; // b είναι -5
int c = -b. // c είναι +5
Είναι ενδιαφέρον ότι ο χειριστής unary plus δεν κάνει τίποτα. Για παράδειγμα:
int a = -5; // a είναι -5
int b = + a; // b είναι -5
α = 5. // a είναι τώρα 5
int c = + a; // c είναι 5
Σημειώστε ότι εάν το
a
ξεκινήσει θετικά, το
+ a
είναι επίσης θετικό. Αλλά αν το
ένα
αρχίσει να είναι αρνητικό, το
+ a
είναι ακόμα αρνητικό. Έτσι ο χειριστής unary plus δεν έχει καμία επίδραση. Υποθέτω ότι η Java παρέχει τον φορέα unary plus από την ανάγκη για ισορροπία.
Μπορείτε επίσης να χρησιμοποιήσετε αυτούς τους χειριστές με πιο σύνθετες εκφράσεις, όπως αυτή:
int a = 3, b = 4, c = 5;
int d = a * - (b + c). // d είναι -27
Εδώ,
b
προστίθεται στο
c
, δίνοντας αποτέλεσμα
9
. Στη συνέχεια εφαρμόζεται ο τελεστής μονάδας μείον, δίνοντας αποτέλεσμα
-9
. Τέλος, το
-9
πολλαπλασιάζεται με
a
, δίνοντας αποτέλεσμα
-27
.