java:operators

Differences

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

Link to this comparison view

java:operators [2017/01/25 14:35]
gthanos [Δυαδικοί τελεστές και τελεστές ολίσθησης]
java:operators [2021/02/28 16:38]
Line 1: Line 1:
-====== Τελεστές ====== 
-===== Αριθμητικοί τελεστές ===== 
- 
-^  τελεστής  ^  περιγραφή  ^ 
-|  +  |  πρόσθεση (ορίζεται για πρόσθεση μεταξύ αριθμών, αλλά και για συνένωση δύο αλφαριθμητικών)  |   
-|  -  |  αφαίρεση  | 
-|  *  |  πολλαπλασιασμός  | 
-|  /  |  διαίρεση  | 
-|  %  |  ακέραιο υπόλοιπο διαίρεσης  | 
- 
-Το παρακάτω παράδειγμα από το site της [[https://docs.oracle.com/javase/tutorial/java/nutsandbolts/examples/ArithmeticDemo.java|Oracle]] χρησιμοποιεί τους παραπάνω τελεστές. 
- 
-<code java ArithmeticDemo.java> 
-class ArithmeticDemo { 
- 
-    public static void main (String[] args) { 
- 
-        int result = 1 + 2; 
-        // result is now 3 
-        System.out.println("1 + 2 = " + result); 
-        int original_result = result; 
- 
-        result = result - 1; 
-        // result is now 2 
-        System.out.println(original_result + " - 1 = " + result); 
-        original_result = result; 
- 
-        result = result * 2; 
-        // result is now 4 
-        System.out.println(original_result + " * 2 = " + result); 
-        original_result = result; 
- 
-        result = result / 2; 
-        // result is now 2 
-        System.out.println(original_result + " / 2 = " + result); 
-        original_result = result; 
- 
-        result = result + 8; 
-        // result is now 10 
-        System.out.println(original_result + " + 8 = " + result); 
-        original_result = result; 
- 
-        result = result % 7; 
-        // result is now 3 
-        System.out.println(original_result + " % 7 = " + result); 
-    } 
-} 
-</code> 
- 
-===== Μοναδιαίοι τελεστές ===== 
- 
-^  τελεστής  ^  περιγραφή  ^ 
-|  +  |  τελεστής θετικού προσήμου. Προσδιορίζει μία θετική αριθμητική τιμή (οι αριθμοί στην Java είναι θετικοί όταν παραλείπεται ο τελεστής προσήμου)  | 
-|  -  |  τελεστής αρνητικού προσήμου;   | 
-|  ++  |  τελεστής αύξησης της υφιστάμενης τιμής κατά 1  | 
-|  %%--%%  |  τελεστής μείωσης της υφιστάμενης τιμής κατά 1  | 
- 
-Οι τελεστές αύξησης ή μείωσης της τιμής κατά 1 (++,%%--%%), μπορούν να εφαρμοστούν πριν ή μετά την μεταβλητή. Για παράδειγμα, (result++) και (++result). Η διαφορά είναι ότι στην πρώτη περίπτωση επιστρέφεται η αρχική τιμή πριν από την αύξηση, ενώ στην 2η περίπτωση επιστρέφεται η νέα τιμή (μετά την αύξηση τις τιμής). Τρέξτε το παρακάτω παράδειγμα για να δείτε πως λειτουργεί ο τελεστής. 
- 
-<code java PrePostDemo.java> 
-class PrePostDemo { 
-    public static void main(String[] args){ 
-        int i = 3; 
-        i++; 
-        // prints 4 
-        System.out.println(i); 
-        ++i;     
-        // prints 5 
-        System.out.println(i); 
-        // prints 6 
-        System.out.println(++i); 
-        // prints 6 
-        System.out.println(i++); 
-        // prints 7 
-        System.out.println(i); 
-    } 
-} 
-</code> 
- 
-===== Τελεστές ελέγχου ισότητας, ανισότητας ===== 
- 
-^  τελεστής  ^  περιγραφή  ^ 
-|  ==  |**έλεγχος ισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή είναι ίσες  | 
-|  !=  |**έλεγχος ανισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή δεν είναι ίσες  | 
-|  >   |**μεγαλύτερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μεγαλύτερος το αριθμού στα δεξιά. | 
-|  %%>=%%  |**μεγαλύτερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | 
-|  <   |**μικρότερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μικρότερος το αριθμού στα δεξιά.  | 
-|  %%<=%%  |**μικρότερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | 
- 
-===== Λογικοί τελεστές ===== 
- 
-^  τελεστής  ^  περιγραφή  ^ 
-|  !  |  **τελεστής λογικής άρνησης**. Επιστρέφει **true** εάν η έκφραση της οποία προηγείται επιστρέφει **false**.  | 
-|  &&  |  **τελεστής λογικού ΚΑΙ (AND)**  | 
-|  %%||%%  |  **τελεστής λογικού H (OR)**  | 
-|  ?:  |  ternary operator (τριαδικός τελεστής). Ο τελεστής έχει την ίδια χρήση με τον αντίστοιχο τελεστή στη γλώσσα **C**  | 
- 
-Αξίζει να προσέξετε τον **ternary operator** που αποτελεί σύντμηση μίας δήλωσης ''if-then-else''. Η κλάση ''ConditionalDemo2'' αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή. 
- 
-<code java ConditionalDemo1.java> 
-class ConditionalDemo1 { 
- 
-    public static void main(String[] args){ 
-        int value1 = 1; 
-        int value2 = 2; 
-        if((value1 == 1) && (value2 == 2)) 
-            System.out.println("value1 is 1 AND value2 is 2"); 
-        if((value1 == 1) || (value2 == 1)) 
-            System.out.println("value1 is 1 OR value2 is 1"); 
-    } 
-} 
-</code> 
- 
-<code java ConditionalDemo2.java> 
-class ConditionalDemo2 { 
- 
-    public static void main(String[] args){ 
-        int value1 = 1; 
-        int value2 = 2; 
-        int result; 
-        boolean someCondition = true; 
-        result = someCondition ? value1 : value2; 
- 
-        System.out.println(result); 
-    } 
-} 
-</code> 
- 
-===== Τελεστής instanceof ===== 
- 
-Ο τελεστής ''instanceof'' συγκρίνει ένα αντικείμενο με ένα συγκεκριμένο τύπο δεδομένων (δηλαδή με μία κλάση). Με χρήση του τελεστή ''instanceof'' μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υποκλάσης ή μιας κλάσης που υλοποιεί ένα συγκεκριμένο [[java:interfaces|interface]]. Δοκιμάστε το παρακάτω παράδειγμα. 
- 
-<code java MyInterface.java> 
-public interface MyInterface { 
-} 
-</code> 
- 
-<code java Parent.java> 
-public class Parent { 
-} 
-</code> 
- 
-<code java Child.java> 
-public class Child extends Parent implements MyInterface { 
-} 
-</code> 
- 
-<code java InstanceofDemo.java> 
-class InstanceofDemo { 
-    public static void main(String[] args) { 
- 
-        Parent obj1 = new Parent(); 
-        Parent obj2 = new Child(); 
- 
-        System.out.println("obj1 instanceof Parent: " 
-            + (obj1 instanceof Parent)); 
-        System.out.println("obj1 instanceof Child: " 
-            + (obj1 instanceof Child)); 
-        System.out.println("obj1 instanceof MyInterface: " 
-            + (obj1 instanceof MyInterface)); 
-        System.out.println("obj2 instanceof Parent: " 
-            + (obj2 instanceof Parent)); 
-        System.out.println("obj2 instanceof Child: " 
-            + (obj2 instanceof Child)); 
-        System.out.println("obj2 instanceof MyInterface: " 
-            + (obj2 instanceof MyInterface)); 
-    } 
-} 
-</code> 
- 
-===== Δυαδικοί τελεστές και τελεστές ολίσθησης ===== 
- 
-^  τελεστής  ^  επεξήγηση  ^ 
-|  ~  |   bitwise complement operator  | 
-|  %%<<%%  |  **τελεστής ολίσθησης στα αριστερά** To LSbit γίνεται 1.  | 
-|  %%>>%%  |  **τελεστής ολίσθησης στα δεξιά** Το νέο MSBit γίνεται όσο ήταν το MSBit πριν την ολίσθηση. | 
-|  %%>>>%%  |  **τελεστής ολίσθησης στα δεξιά** Το νέο MSBit λαμβάνει την τιμή μηδέν (0). | 
-|  &  |  δυαδικό AND  | 
-|  %%|%%  |  δυαδικό OR  | 
-|  %%^%%  |  δυαδικό αποκλειστικό OR (exclusive OR)  | 
- 
-<code java BitDemo.java> 
-class BitDemo { 
-    public static void main(String[] args) { 
-        int bitmask = 0x000F; 
-        int val = 0x2222; 
-        // prints "2" 
-        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> 
- 
-| Προηγούμενο: [[:java:arrays | Πίνακες ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Έλεγχος ροής προγράμματος ]] | 
  
java/operators.txt · Last modified: 2021/02/28 16:38 (external edit)