java:operators

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
java:operators [2015/07/07 17:31]
gthanos
java:operators [2017/02/14 14:57]
gthanos [Δυαδικοί τελεστές και τελεστές ολίσθησης]
Line 2: Line 2:
 ===== Αριθμητικοί τελεστές ===== ===== Αριθμητικοί τελεστές =====
  
-^  ​Operator ​ ​^  ​Description ​ ^+^  ​τελεστής ​ ​^  ​περιγραφή ​ ^
 |  +  |  πρόσθεση (ορίζεται για πρόσθεση μεταξύ αριθμών,​ αλλά και για συνένωση δύο αλφαριθμητικών) ​ |  ​ |  +  |  πρόσθεση (ορίζεται για πρόσθεση μεταξύ αριθμών,​ αλλά και για συνένωση δύο αλφαριθμητικών) ​ |  ​
 |  -  |  αφαίρεση ​ | |  -  |  αφαίρεση ​ |
Line 50: Line 50:
 ===== Μοναδιαίοι τελεστές ===== ===== Μοναδιαίοι τελεστές =====
  
-^  ​Operator ​ ​^ ​Description ​ ^ +^  ​τελεστής ​ ​^ ​ ​περιγραφή ​ ^ 
-|  +  |  ​Unary plus operator; indicates positive value (numbers are positive without this, however)  | +|  +  |  ​τελεστής θετικού προσήμου. Προσδιορίζει μία θετική αριθμητική τιμή ​(οι αριθμοί στην Java είναι θετικοί όταν παραλείπεται ο τελεστής προσήμου)  | 
-|  -  |  ​Unary minus operatornegates an expression  ​+|  -  |  ​τελεστής αρνητικού προσήμου  ​
-|  ++  |  ​Increment operator; increments a value by 1  | +|  ++  |  ​τελεστής αύξησης της υφιστάμενης τιμής κατά ​1  | 
-|  %%--%% ​ |  ​Decrement operator; decrements a value by 1  |+|  %%--%% ​ |  ​τελεστής μείωσης της υφιστάμενης τιμής κατά ​1  |
  
 Οι τελεστές αύξησης ή μείωσης της τιμής κατά 1 (++,​%%--%%),​ μπορούν να εφαρμοστούν πριν ή μετά την μεταβλητή. Για παράδειγμα,​ (result++) και (++result). Η διαφορά είναι ότι στην πρώτη περίπτωση επιστρέφεται η αρχική τιμή πριν από την αύξηση,​ ενώ στην 2η περίπτωση επιστρέφεται η νέα τιμή (μετά την αύξηση τις τιμής). Τρέξτε το παρακάτω παράδειγμα για να δείτε πως λειτουργεί ο τελεστής. Οι τελεστές αύξησης ή μείωσης της τιμής κατά 1 (++,​%%--%%),​ μπορούν να εφαρμοστούν πριν ή μετά την μεταβλητή. Για παράδειγμα,​ (result++) και (++result). Η διαφορά είναι ότι στην πρώτη περίπτωση επιστρέφεται η αρχική τιμή πριν από την αύξηση,​ ενώ στην 2η περίπτωση επιστρέφεται η νέα τιμή (μετά την αύξηση τις τιμής). Τρέξτε το παρακάτω παράδειγμα για να δείτε πως λειτουργεί ο τελεστής.
Line 81: Line 81:
  
 ^  τελεστής ​ ^  περιγραφή ​ ^ ^  τελεστής ​ ^  περιγραφή ​ ^
-|  ==  |  equal to  | +|  ==  |**έλεγχος ισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή είναι ίσες ​ | 
-|  !=  |  not equal to  | +|  !=  |**έλεγχος ανισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή δεν είναι ίσες ​ | 
-|  >   ​| ​ ​greater than  ​+|  >   |**μεγαλύτερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μεγαλύτερος το αριθμού στα δεξιά. ​
-|  %%>​=%% ​ |  ​greater than or equal to  ​+|  %%>​=%% ​ |**μεγαλύτερο από ή ίσο με ** Ομοίως με παραπάνω,​ αλλά επιστρέφει **true** και στην ισότητα. ​
-|  <   ​| ​ less than  | +|  <   |**μικρότερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μικρότερος το αριθμού στα δεξιά. ​ | 
-|  %%<​=%% ​ |  less than or equal to  ​| +|  %%<​=%% ​ |**μικρότερο από ή ίσο με** Ομοίως με παραπάνω,​ αλλά επιστρέφει **true** και στην ισότητα. ​|
- +
  
 ===== Λογικοί τελεστές ===== ===== Λογικοί τελεστές =====
  
 ^  τελεστής ​ ^  περιγραφή ​ ^ ^  τελεστής ​ ^  περιγραφή ​ ^
-|  !  |  ​Logical complement operator; inverts the value of a boolean ​ | +|  !  |  ​**τελεστής λογικής άρνησης**. Επιστρέφει **true** εάν η έκφραση της οποίας προηγείται επιστρέφει **false**. ​ | 
-|  && ​ |  ​Logical ​AND  | +|  && ​ |  ​**τελεστής λογικού ΚΑΙ (AND)**  | 
-|  %%||%% ​ |  ​Conditional-OR  | +|  %%||%% ​ |  ​**τελεστής λογικού H (OR)**  | 
-|  ?:  |  ternary operator ​ |+|  ?:  |  ternary operator ​(τριαδικός τελεστής). Ο τελεστής έχει την ίδια χρήση με τον αντίστοιχο τελεστή στη γλώσσα **C**  |
  
-Αξίζει να προσέξετε τον ternary operator που αποτελεί συντμηση μίας δήλωσης ''​if-then-else''​. Η κλάση ''​ConditionalDemo2''​ αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή.+Αξίζει να προσέξετε τον ​**ternary operator** που αποτελεί σύντμηση μίας δήλωσης ''​if-then-else''​. Η κλάση ''​ConditionalDemo2''​ αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή.
  
 <code java ConditionalDemo1.java>​ <code java ConditionalDemo1.java>​
Line 128: Line 126:
 } }
 </​code>​ </​code>​
- 
- 
  
 ===== Τελεστής instanceof ===== ===== Τελεστής instanceof =====
  
-Ο τελεστής ''​instanceof''​ συγκρίνει ένα αντικείμενο με ένα συγκεκριμένο τύπο δεδομένων (δηλκλάση). Με χρήση του τελεστή ''​instanceof''​ μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υποκλάσης ή μιας κλάσης που υλοποιεί ένα συγκεκριμένο interface. Δοκιμάστε το παρακάτω παράδειγμα.+Ο τελεστής ''​instanceof''​ συγκρίνει ένα αντικείμενο με ένα συγκεκριμένο τύπο δεδομένων (δηλαδή με μία ​κλάση). Με χρήση του τελεστή ''​instanceof''​ μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υποκλάσης ή μιας κλάσης που υλοποιεί ένα συγκεκριμένο ​[[java:​interfaces|interface]]. Δοκιμάστε το παρακάτω παράδειγμα.
  
 <code java MyInterface.java>​ <code java MyInterface.java>​
Line 177: Line 173:
 ^  τελεστής ​ ^  επεξήγηση ​ ^ ^  τελεστής ​ ^  επεξήγηση ​ ^
 |  ~  |   ​bitwise complement operator ​ | |  ~  |   ​bitwise complement operator ​ |
-|  %%<<​%% ​ |  τελεστής ολίσθησης στα αριστερά ​ | +|  %%<<​%% ​ |  ​**τελεστής ολίσθησης στα αριστερά** To LSbit γίνεται 1.  | 
-|  %%>>​%% ​ |  τελεστής ολίσθησης στα δεξιά, το MSBit λαμβάνει ​υπόψη το πρόσιμο του αριθμού ​ | +|  %%>>​%% ​ |  ​**τελεστής ολίσθησης στα δεξιά** Το νέο MSBit γίνεται όσο ήταν ​το MSBit πριν την ολίσθηση. ​ | 
-|  &  |  δυαδικό ​END  |+|  &  |  δυαδικό ​AND  |
 |  %%|%%  |  δυαδικό OR  | |  %%|%%  |  δυαδικό OR  |
 |  %%^%%  |  δυαδικό αποκλειστικό OR (exclusive OR)  | |  %%^%%  |  δυαδικό αποκλειστικό OR (exclusive OR)  |
Line 189: 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: " + (bitmask << 2)); 
 +        System.out.println("​bitmask >> 1: " + (bitmask >> 1)); 
 +        System.out.println("​bitmask || (bitmask << 8): " + (bitmask | (bitmask << 8)) );
     }     }
 } }
 </​code>​ </​code>​
  
-|[[:​java:​arrays | Πίνακες ]] | [[:​java:​control_flow | Έλεγχος ροής προγράμματος ]] |+Προηγούμενο: ​[[:​java:​arrays | Πίνακες ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: ​[[:​java:​control_flow | Ροή προγράμματος ]] |
  
java/operators.txt · Last modified: 2020/02/20 14:20 by gthanos