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 [2017/01/25 14:51] – [Τελεστές ανάθεσης] 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 { 
-===== Τελεστής instanceof ===== +  public static void main(String []args) { 
- +    int a 16; 
-Ο τελεστής ''instanceof'' συγκρίνει ένα αντικείμενο με ένα συγκεκριμένο τύπο δεδομένων (δηλαδή με μία κλάση). Με χρήση του τελεστή ''instanceof'' μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υποκλάσης ή μιας κλάσης που υλοποιεί ένα συγκεκριμένο [[java:interfaces|interface]]Δοκιμάστε το παρακάτω παράδειγμα+    a +16; 
- +    System.out.println("a: "+a); 
-<code java MyInterface.java> +    a *2; 
-public interface MyInterface {+    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> </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> 
- 
  
  
-| Προηγούμενο: [[:java:arrays Πίνακες ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Έλεγχος ροής προγράμματος ]] |+| Προηγούμενο: [[:java:literalsΚυριολεκτικά ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Ροή προγράμματος ]] |
  
java/operators.1485355866.txt.gz · Last modified: 2017/01/25 14:51 by gthanos