java:operators

Differences

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

Link to this comparison view

java:operators [2021/02/28 16:09]
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). Η διαφορά είναι ότι στην πρώτη περίπτωση επιστρέφεται η αρχική τιμή πριν από την αύξηση, ενώ στην δεύτερηη περίπτωση επιστρέφεται η νέα τιμή (μετά την αύξηση τις τιμής). Τρέξτε το παρακάτω παράδειγμα για να δείτε πως λειτουργεί ο τελεστής. 
- 
-<code java PrePostDemo.java> 
-class PreAndPostIncrementDemo { 
-    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, i=6 
-        System.out.println(++i); 
-        // prints 6, i=7 
-        System.out.println(i++); 
-        // prints 7 
-        System.out.println(i); 
-        // prints 7, i=6 
-        System.out.println(i--); 
-        // prints 5, i=5 
-        System.out.println(--i); 
-    } 
-} 
-</code> 
- 
-===== Τελεστές ελέγχου ισότητας, ανισότητας ===== 
- 
-^  τελεστής  ^  περιγραφή  ^ 
-|  ==  |**έλεγχος ισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή είναι ίσες  | 
-|  !=  |**έλεγχος ανισότητας** Επιστρέφει **true** αν οι τιμές στα αριστερά και δεξιά του τελεστή δεν είναι ίσες  | 
-|  >   |**μεγαλύτερο από** Επιστρέφει **true** αν ο αριθμός στα αριστερά είναι μεγαλύτερος το αριθμού στα δεξιά. | 
-|  %%>=%%  |**μεγαλύτερο ή ίσο από** Ομοίως με παραπάνω, αλλά επιστρέφει **true** και στην ισότητα. | 
-|  <   |**μικρότερο από** Επιστρέφει **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> 
-===== Λογικοί τελεστές ===== 
- 
-^  τελεστής  ^  περιγραφή  ^ 
-|  !  |  **τελεστής λογικής άρνησης**. Επιστρέφει **true** εάν η έκφραση της οποία προηγείται επιστρέφει **false**.  | 
-|  &&  |  **τελεστής λογικού ΚΑΙ (AND)**  | 
-|  %%||%%  |  **τελεστής λογικού H (OR)**  | 
-|  ?:  |  ternary operator (τριαδικός τελεστής). Ο τελεστής έχει την ίδια χρήση με τον αντίστοιχο τελεστή στη γλώσσα **C**  | 
- 
-Αξίζει να προσέξετε τον **ternary operator** που αποτελεί σύντμηση μίας δήλωσης ''if-then-else''. Η κλάση ''ConditionalDemo2'' αποτελεί παράδειγμα χρήσης του συγκεκριμένου τελεστή. 
- 
-<code java LogicalOperatorsDemo.java> 
-class LogicalOperatorsDemo { 
- 
-  public static void main(String[] args){ 
-         
-    int a = 1; 
-    int b = 2; 
-    int c = 3; 
-    if(a == 1 && b == 2) { 
-      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 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> 
- 
-===== Δυαδικοί τελεστές και τελεστές ολίσθησης ===== 
- 
-^  τελεστής  ^  επεξήγηση  ^ 
-|  ~  |   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> 
- 
-===== Τελεστές ανάθεσης ===== 
- 
- 
-^ τελεστής ^ επεξήγηση ^ παράδειγμα ^ 
-|  =  |  απλός τελεστής ανάθεσης  | c=a; | 
-|  +=  |  πρόσθεση και ανάθεση  | c += a; -> c = c+a; | 
-|  -=  |  αφαίρεση και ανάθεση  | c -= a; -> c = c-a; | 
-|  *=  |  πολλαπλασιασμός και ανάθεση  | c *= a; -> c = c*a; | 
-|  /=  |  διαίρεση και ανάθεση    c/=a; -> c = c/a;  | 
-|  %=    υπόλοιπο ακέραιας διαίρεσης (οι τελεστέοι πρέπει να είναι ακέραιοι)  | c %= a; -> c = c%a;| 
-|  %%<<=%%  |  αριστερή ολίσθηση και ανάθεση  |  c %%<<%%= a; -> c = c%%<<%%a; | 
-|  %%>>=%%  |  δεξιά ολίσθηση και ανάθεση  |  c %%>>%%= a; -> c = c%%>>%%a; | 
-|  & |  δυαδικό AND και ανάθεση  | c&=a; -> c=c&a;| 
-|  %%|%%=  |  δυαδικό OR και ανάθεση  | c%%|%%=a; -> c=c%%|%%a;| 
-|  %%^%%=  |  δυαδικό XOR και ανάθεση  | c %%^%%=a; -> c=c%%^%%a; | 
- 
- 
- 
- 
-| Προηγούμενο: [[:java:literals| Κυριολεκτικά ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:control_flow | Ροή προγράμματος ]] | 
  
java/operators.txt · Last modified: 2021/02/28 16:38 (external edit)