User Tools

Site Tools


java:operators

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
java:operators [2018/02/03 15:59] – [Τελεστές ανάθεσης] gthanosjava:operators [2021/02/28 16:38] (current) – external edit 127.0.0.1
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" +     
-        System.out.println("val & bitmask: " + (val & bitmask)); +    // prints 4 
-        System.out.println("bitmask << 2: " + (bitmask << 2)); +    System.out.println("val & bitmask: " + (val & bitmask)); 
-        System.out.println("bitmask >> 1: " + (bitmask >> 1)); +    val = val & bitmask; 
-        System.out.println("bitmask || (bitmask << 8): " + (bitmask | (bitmask << 8)) ); +    // prints 16 
-    }+    System.out.println("val << 2: " + (val << 2)); 
 +    // prints 2 
 +    System.out.println("val >> 1: " + (val >> 1)); 
 +    // prints 24 
 +    System.out.println("(val << 2) | (val << 1): " + (val << 2 | (val << 1)) ); 
 +  }
 } }
 </code> </code>
 +===== Τελεστές Ανάθεσης =====
  
-===== Τελεστές ανάθεσης ===== + τελεστής   επεξήγηση   παράδειγμα  ^
- +
- +
-^ τελεστής ^ επεξήγηση ^ παράδειγμα ^+
 |  =  |  απλός τελεστής ανάθεσης  | c=a; | |  =  |  απλός τελεστής ανάθεσης  | c=a; |
 |  +=  |  πρόσθεση και ανάθεση  | c += a; -> c = c+a; | |  +=  |  πρόσθεση και ανάθεση  | c += a; -> c = c+a; |
Line 168: Line 211:
 |  %%^%%=  |  δυαδικό 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:arrays Πίνακες ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Ροή προγράμματος ]] |+
  
java/operators.1517673566.txt.gz · Last modified: 2018/02/03 15:59 by gthanos