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
Next revision Both sides next revision
java:operators [2018/02/12 14:55]
gthanos [Τελεστές ανάθεσης]
java:operators [2021/02/28 16:32]
gthanos [Δυαδικοί τελεστές και τελεστές ολίσθησης]
Line 56: Line 56:
 |  %%--%%  |  τελεστής μείωσης της υφιστάμενης τιμής κατά 1  | |  %%--%%  |  τελεστής μείωσης της υφιστάμενης τιμής κατά 1  |
  
-Οι τελεστές αύξησης ή μείωσης της τιμής κατά 1 (++,%%--%%), μπορούν να εφαρμοστούν πριν ή μετά την μεταβλητή. Για παράδειγμα, (result++) και (++result). Η διαφορά είναι ότι στην πρώτη περίπτωση επιστρέφεται η αρχική τιμή πριν από την αύξηση, ενώ στην 2η περίπτωση επιστρέφεται η νέα τιμή (μετά την αύξηση τις τιμής). Τρέξτε το παρακάτω παράδειγμα για να δείτε πως λειτουργεί ο τελεστής.+Οι τελεστές αύξησης ή μείωσης της τιμής κατά 1 (++,%%--%%), μπορούν να εφαρμοστούν πριν ή μετά την μεταβλητή. Για παράδειγμα, (result++) και (++result). Η διαφορά είναι ότι στην πρώτη περίπτωση επιστρέφεται η αρχική τιμή πριν από την αύξηση, ενώ στην δεύτερηη περίπτωση επιστρέφεται η νέα τιμή (μετά την αύξηση τις τιμής). Τρέξτε το παρακάτω παράδειγμα για να δείτε πως λειτουργεί ο τελεστής.
  
 <code java PrePostDemo.java> <code java PrePostDemo.java>
-class PrePostDemo {+class PreAndPostIncrementDemo {
     public static void main(String[] args){     public static void main(String[] args){
         int i = 3;         int i = 3;
Line 68: Line 68:
         // prints 5         // prints 5
         System.out.println(i);         System.out.println(i);
-        // prints 6+        // prints 6, i=6
         System.out.println(++i);         System.out.println(++i);
-        // prints 6+        // prints 6, i=7
         System.out.println(i++);         System.out.println(i++);
         // prints 7         // prints 7
         System.out.println(i);         System.out.println(i);
 +        // prints 7, i=6
 +        System.out.println(i--);
 +        // prints 5, i=5
 +        System.out.println(--i);
     }     }
 } }
Line 88: Line 92:
 |  %%<=%%  |**μικρότερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | |  %%<=%%  |**μικρότερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. |
  
 +<code java ComparisonOperators.java>
 +
 +public class ComparisonOperators {
 +  public static void main(String []args) {
 +    int a = 5;
 +    int b = 8;
 +    if(a>=5) {
 +      System.out.println("a >= 5");
 +    }
 +    if(b<9) {
 +      System.out.println("b == 8");
 +    }
 +    if(b==8) {
 +      System.out.println("b == 8");
 +    }
 +    if(a!=6) {
 +      System.out.println("a != 6");
 +    }    
 +  }
 +}
 +</code>
 ===== Λογικοί τελεστές ===== ===== Λογικοί τελεστές =====
  
Line 98: Line 123:
 Αξίζει να προσέξετε τον **ternary operator** που αποτελεί σύντμηση μίας δήλωσης ''if-then-else''. Η κλάση ''ConditionalDemo2'' αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή. Αξίζει να προσέξετε τον **ternary operator** που αποτελεί σύντμηση μίας δήλωσης ''if-then-else''. Η κλάση ''ConditionalDemo2'' αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή.
  
-<code java ConditionalDemo1.java> +<code java LogicalOperatorsDemo.java> 
-class ConditionalDemo1 {+class LogicalOperatorsDemo {
  
-    public static void main(String[] args){ +  public static void main(String[] args){ 
-        int value1 = 1; +         
-        int value2 = 2; +    int = 1; 
-        if((value1 == 1&& (value2 == 2)) +    int = 2; 
-            System.out.println("value1 is 1 AND value2 is 2"); +    int c = 3; 
-        if((value1 == 1) || (value2 == 1)) +    if(== 1 && == 2) { 
-            System.out.println("value1 is OR value2 is 1");+      System.out.println("a == 1 AND b == 2"); 
 +    } 
 +    if(a > 0 || b == 1) { 
 +      System.out.println("a > 0 OR b == 1")
 +    } 
 +    if(!(a !1) && !(b != 1)) { 
 +      System.out.println("NOT(a != 1) AND NOT(b != 1)"); 
 +    } 
 +    if( a>0 && b>0 && c>0) { 
 +      System.out.println("a > 0 AND b > 0 AND c > 0"); 
 +    } 
 +    if( a<0 || b<0 || c>0) { 
 +      System.out.println("a > 0 OR b > 0 OR c > 0");
     }     }
 +        
 +  }
 } }
 +
 </code> </code>
  
-<code java ConditionalDemo2.java> +<code java TernaryOperatorDemo.java> 
-class ConditionalDemo2 {+class TernaryOperatorDemo {
  
-    public static void main(String[] args){ +  public static void main(String[] args){ 
-        int value1 = 1; +    int = 1; 
-        int value2 = 2; +    int = 2; 
-        int result; +    int result; 
-        boolean someCondition = true; +         
-        result = someCondition value1 value2;+    result = a >= 1 ++a ++b;
  
-        System.out.println(result); +    System.out.println("a: "+a+", b: "+b+", result: "+result); 
-    }+  }
 } }
 </code> </code>
Line 138: Line 178:
 |  %%^%%  |  δυαδικό αποκλειστικό OR (exclusive OR)  | |  %%^%%  |  δυαδικό αποκλειστικό OR (exclusive OR)  |
  
-<code java BitDemo.java> +<code java BitOperatorsDemo.java> 
-class BitDemo +class BitOperatorsDemo 
-    public static void main(String[] args) { +  public static void main(String[] args) { 
-        int bitmask = 0x000F; +    int bitmask = 0x000F; 
-        int val = 0x2222+    int val = 0x4444
-        // prints "2" +    // prints 4 
-        System.out.println("val & bitmask: " + (val & bitmask)); +    System.out.println("val & bitmask: " + (val & bitmask)); 
-        System.out.println("bitmask << 2: " + (bitmask << 2)); +    // prints 16 
-        System.out.println("bitmask >> 1: " + (bitmask >> 1)); +    System.out.println("bitmask << 2: " + (bitmask << 2)); 
-        System.out.println("bitmask || (bitmask << 8): " + (bitmask | (bitmask << 8)) ); +    // prints 2 
-    }+    System.out.println("bitmask >> 1: " + (bitmask >> 1)); 
 +    // prints 64 
 +    System.out.println("bitmask | (bitmask << 8): " + (bitmask | (bitmask << 8)) ); 
 +  }
 } }
 </code> </code>
 +===== Τελεστές Ανάθεσης =====
  
-===== Τελεστές ανάθεσης ===== + τελεστής   επεξήγηση   παράδειγμα  ^
- +
- +
-^ τελεστής ^ επεξήγηση ^ παράδειγμα ^+
 |  =  |  απλός τελεστής ανάθεσης  | c=a; | |  =  |  απλός τελεστής ανάθεσης  | c=a; |
 |  +=  |  πρόσθεση και ανάθεση  | c += a; -> c = c+a; | |  +=  |  πρόσθεση και ανάθεση  | c += a; -> c = c+a; |
Line 168: Line 209:
 |  %%^%%=  |  δυαδικό XOR και ανάθεση  | c %%^%%=a; -> c=c%%^%%a; | |  %%^%%=  |  δυαδικό XOR και ανάθεση  | c %%^%%=a; -> c=c%%^%%a; |
  
 +<code java AssignmentOperators.java> 
 +class AssignmentOperatorDemo { 
 +  public static void main(String []args) { 
 +    int a = 16; 
 +    a += 16; 
 +    System.out.println("a: "+a); 
 +    a *= 2; 
 +    System.out.println("a: "+a); 
 +    a /= 4; 
 +    System.out.println("a: "+a); 
 +    a <<= 1; 
 +    System.out.println("a: "+a); 
 +    a >>= 2; 
 +    System.out.println("a: "+a); 
 +    a %= 7; 
 +    System.out.println("a: "+a); 
 +  } 
 +
 +</code>
  
  
 | Προηγούμενο: [[:java:literals| Κυριολεκτικά ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Ροή προγράμματος ]] | | Προηγούμενο: [[:java:literals| Κυριολεκτικά ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Ροή προγράμματος ]] |
  
java/operators.txt · Last modified: 2021/02/28 16:38 (external edit)