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
java:operators [2015/07/07 17:31]
gthanos
java:operators [2017/02/14 14:57] (current)
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.1436290308.txt.gz · Last modified: 2016/02/26 11:15 (external edit)