This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:operators [2015/07/07 17:53] gthanos [Δυαδικοί τελεστές και τελεστές ολίσθησης] |
java:operators [2020/02/20 14:20] (current) gthanos |
||
---|---|---|---|
Line 51: | Line 51: | ||
^ τελεστής ^ περιγραφή ^ | ^ τελεστής ^ περιγραφή ^ | ||
- | | + | τελεστής θετικού προσήμου. Προσδιορίζει μία θετική αριθμητική τιμή (οι αριθμοί στην Java είναι θετική όταν παραλείπεται ο τελεστής προσήμου) | | + | | + | τελεστής θετικού προσήμου. Προσδιορίζει μία θετική αριθμητική τιμή (οι αριθμοί στην Java είναι θετικοί όταν παραλείπεται ο τελεστής προσήμου) | |
| - | τελεστής αρνητικού προσήμου; | | | - | τελεστής αρνητικού προσήμου; | | ||
- | | ++ | τελεστής αύξησης της υφιστάμενης τιμής κατά 1 | | + | | ++ | τελεστής αύξησης της υφιστάμενης τιμής κατά 1 | |
| %%--%% | τελεστής μείωσης της υφιστάμενης τιμής κατά 1 | | | %%--%% | τελεστής μείωσης της υφιστάμενης τιμής κατά 1 | | ||
Line 81: | Line 81: | ||
^ τελεστής ^ περιγραφή ^ | ^ τελεστής ^ περιγραφή ^ | ||
- | | == | **έλεγχος ισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή είναι ίσες | | + | | == |**έλεγχος ισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή είναι ίσες | |
- | | != | **έλεγχος ανισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή δεν είναι ίσες | | + | | != |**έλεγχος ανισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή δεν είναι ίσες | |
- | | > | **μεγαλύτερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μεγαλύτερος το αριθμού στα δεξιά. | | + | | > |**μεγαλύτερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μεγαλύτερος το αριθμού στα δεξιά. | |
- | | %%>=%% | **μεγαλύτερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | | + | | %%>=%% |**μεγαλύτερο από ή ίσο με ** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | |
- | | < | **μικρότερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μικρότερος το αριθμού στα δεξιά. | | + | | < |**μικρότερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μικρότερος το αριθμού στα δεξιά. | |
- | | %%<=%% | **μικρότερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | | + | | %%<=%% |**μικρότερο από ή ίσο με** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | |
===== Λογικοί τελεστές ===== | ===== Λογικοί τελεστές ===== | ||
^ τελεστής ^ περιγραφή ^ | ^ τελεστής ^ περιγραφή ^ | ||
- | | ! | **τελεστής λογικής άρνησης**. Επιστρέφει **true** εάν η έκφραση της οποία προηγείται επιστρέφει **false**. | | + | | ! | **τελεστής λογικής άρνησης**. Επιστρέφει **true** εάν η έκφραση της οποίας προηγείται επιστρέφει **false**. | |
| && | **τελεστής λογικού ΚΑΙ (AND)** | | | && | **τελεστής λογικού ΚΑΙ (AND)** | | ||
| %%||%% | **τελεστής λογικού H (OR)** | | | %%||%% | **τελεστής λογικού H (OR)** | | ||
- | | ?: | ternary operator (τριαδικός τελεστής). Ο τελεστής την ίδια χρήση με τον αντίστοιχο τελεστή στη γλώσσα **C** | | + | | ?: | ternary operator (τριαδικός τελεστής). Ο τελεστής έχει την ίδια χρήση με τον αντίστοιχο τελεστή στη γλώσσα **C** | |
- | Αξίζει να προσέξετε τον **ternary operator** που αποτελεί συντμηση μίας δήλωσης ''if-then-else''. Η κλάση ''ConditionalDemo2'' αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή. | + | Αξίζει να προσέξετε τον **ternary operator** που αποτελεί σύντμηση μίας δήλωσης ''if-then-else''. Η κλάση ''ConditionalDemo2'' αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή. |
<code java ConditionalDemo1.java> | <code java ConditionalDemo1.java> | ||
Line 129: | Line 129: | ||
===== Τελεστής instanceof ===== | ===== Τελεστής instanceof ===== | ||
- | Ο τελεστής ''instanceof'' συγκρίνει ένα αντικείμενο με ένα συγκεκριμένο τύπο δεδομένων (δηλ. κλάση). Με χρήση του τελεστή ''instanceof'' μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υποκλάσης ή μιας κλάσης που υλοποιεί ένα συγκεκριμένο [[java:interfaces|interface]]. Δοκιμάστε το παρακάτω παράδειγμα. | + | Ο τελεστής ''instanceof'' συγκρίνει ένα αντικείμενο με ένα συγκεκριμένο τύπο δεδομένων (δηλαδή με μία κλάση). Με χρήση του τελεστή ''instanceof'' μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υποκλάσης ή μιας κλάσης που υλοποιεί ένα συγκεκριμένο [[java:interfaces|interface]]. Δοκιμάστε το παρακάτω παράδειγμα. |
<code java MyInterface.java> | <code java MyInterface.java> | ||
Line 173: | Line 173: | ||
^ τελεστής ^ επεξήγηση ^ | ^ τελεστής ^ επεξήγηση ^ | ||
| ~ | bitwise complement operator | | | ~ | bitwise complement operator | | ||
- | | %%<<%% | **τελεστής ολίσθησης στα αριστερά** To LSbit γίνεται 1. | | + | | %%<<%% | **τελεστής ολίσθησης στα αριστερά** To LSbit γίνεται 1. | |
- | | %%>>%% | **τελεστής ολίσθησης στα δεξιά** Το MSBit λαμβάνει υπόψη το πρόσιμο του αριθμού | | + | | %%>>%% | **τελεστής ολίσθησης στα δεξιά** Το νέο MSBit γίνεται όσο ήταν το MSBit πριν την ολίσθηση. | |
| & | δυαδικό AND | | | & | δυαδικό AND | | ||
| %%|%% | δυαδικό OR | | | %%|%% | δυαδικό OR | | ||
Line 185: | Line 185: | ||
int val = 0x2222; | int val = 0x2222; | ||
// prints "2" | // prints "2" | ||
- | System.out.println(val & bitmask); | + | System.out.println("val & bitmask: " + (val & bitmask)); |
- | System.out.println(bitmask << 2); | + | System.out.println("bitmask << 2: " + (bitmask << 2)); |
- | System.out.println(bitmask >> 1); | + | System.out.println("bitmask >> 1: " + (bitmask >> 1)); |
- | System.out.println(bitmask || (bitmask << 8)); | + | System.out.println("bitmask || (bitmask << 8): " + (bitmask | (bitmask << 8)) ); |
} | } | ||
} | } | ||
</code> | </code> | ||
- | |[[:java:arrays | Πίνακες ]] | [[:java:control_flow | Έλεγχος ροής προγράμματος ]] | | + | | Προηγούμενο: [[:java:arrays-intro | Πίνακες ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Ροή προγράμματος ]] | |