This shows you the differences between two versions of the page.
|
java:operators [2021/02/28 16:32] gthanos [Δυαδικοί τελεστές και τελεστές ολίσθησης] |
java:operators [2021/02/28 16:38] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Τελεστές ====== | ||
| - | ===== Αριθμητικοί τελεστές ===== | ||
| - | |||
| - | ^ τελεστής | ||
| - | | + | πρόσθεση (ορίζεται για πρόσθεση μεταξύ αριθμών, | ||
| - | | - | αφαίρεση | ||
| - | | * | πολλαπλασιασμός | ||
| - | | / | διαίρεση | ||
| - | | % | ακέραιο υπόλοιπο διαίρεσης | ||
| - | |||
| - | Το παρακάτω παράδειγμα από το site της [[https:// | ||
| - | |||
| - | <code java ArithmeticDemo.java> | ||
| - | class ArithmeticDemo { | ||
| - | |||
| - | public static void main (String[] args) { | ||
| - | |||
| - | int result = 1 + 2; | ||
| - | // result is now 3 | ||
| - | System.out.println(" | ||
| - | 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); | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ===== Μοναδιαίοι τελεστές ===== | ||
| - | |||
| - | ^ τελεστής | ||
| - | | + | τελεστής θετικού προσήμου. Προσδιορίζει μία θετική αριθμητική τιμή (οι αριθμοί στην Java είναι θετικοί όταν παραλείπεται ο τελεστής προσήμου) | ||
| - | | - | τελεστής αρνητικού προσήμου; | ||
| - | | ++ | τελεστής αύξησης της υφιστάμενης τιμής κατά 1 | | ||
| - | | %%--%% | ||
| - | |||
| - | Οι τελεστές αύξησης ή μείωσης της τιμής κατά 1 (++, | ||
| - | |||
| - | <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); | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ===== Τελεστές ελέγχου ισότητας, | ||
| - | |||
| - | ^ τελεστής | ||
| - | | == |**έλεγχος ισότητας** Επιστρέφει **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(" | ||
| - | } | ||
| - | if(b<9) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | if(b==8) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | if(a!=6) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | ===== Λογικοί τελεστές ===== | ||
| - | |||
| - | ^ τελεστής | ||
| - | | ! | **τελεστής λογικής άρνησης**. Επιστρέφει **true** εάν η έκφραση της οποία προηγείται επιστρέφει **false**. | ||
| - | | && | ||
| - | | %%||%% | ||
| - | | ?: | ternary operator (τριαδικός τελεστής). Ο τελεστής έχει την ίδια χρήση με τον αντίστοιχο τελεστή στη γλώσσα **C** | | ||
| - | |||
| - | Αξίζει να προσέξετε τον **ternary operator** που αποτελεί σύντμηση μίας δήλωσης '' | ||
| - | |||
| - | <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(" | ||
| - | } | ||
| - | if(a > 0 || b == 1) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | if(!(a != 1) && !(b != 1)) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | if( a>0 && b>0 && c>0) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | if( a<0 || b<0 || c>0) { | ||
| - | System.out.println(" | ||
| - | } | ||
| - | | ||
| - | } | ||
| - | } | ||
| - | |||
| - | </ | ||
| - | |||
| - | <code java TernaryOperatorDemo.java> | ||
| - | class TernaryOperatorDemo { | ||
| - | |||
| - | public static void main(String[] args){ | ||
| - | int a = 1; | ||
| - | int b = 2; | ||
| - | int result; | ||
| - | | ||
| - | result = a >= 1 ? ++a : ++b; | ||
| - | |||
| - | System.out.println(" | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ===== Δυαδικοί τελεστές και τελεστές ολίσθησης ===== | ||
| - | |||
| - | ^ τελεστής | ||
| - | | ~ | | ||
| - | | %%<< | ||
| - | | %%>> | ||
| - | | %%>>> | ||
| - | | & | δυαδικό AND | | ||
| - | | %%|%% | δυαδικό OR | | ||
| - | | %%^%% | δυαδικό αποκλειστικό OR (exclusive OR) | | ||
| - | |||
| - | <code java BitOperatorsDemo.java> | ||
| - | class BitOperatorsDemo { | ||
| - | public static void main(String[] args) { | ||
| - | int bitmask = 0x000F; | ||
| - | int val = 0x4444; | ||
| - | // prints 4 | ||
| - | System.out.println(" | ||
| - | // prints 16 | ||
| - | System.out.println(" | ||
| - | // prints 2 | ||
| - | System.out.println(" | ||
| - | // prints 64 | ||
| - | System.out.println(" | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | ===== Τελεστές Ανάθεσης ===== | ||
| - | |||
| - | ^ τελεστής | ||
| - | | = | απλός τελεστής ανάθεσης | ||
| - | | += | πρόσθεση και ανάθεση | ||
| - | | -= | αφαίρεση και ανάθεση | ||
| - | | *= | πολλαπλασιασμός και ανάθεση | ||
| - | | /= | διαίρεση και ανάθεση | ||
| - | | %= | ||
| - | | %%<< | ||
| - | | %%>> | ||
| - | | & | ||
| - | | %%|%%= | ||
| - | | %%^%%= | ||
| - | |||
| - | <code java AssignmentOperators.java> | ||
| - | class AssignmentOperatorDemo { | ||
| - | public static void main(String []args) { | ||
| - | int a = 16; | ||
| - | a += 16; | ||
| - | System.out.println(" | ||
| - | a *= 2; | ||
| - | System.out.println(" | ||
| - | a /= 4; | ||
| - | System.out.println(" | ||
| - | a <<= 1; | ||
| - | System.out.println(" | ||
| - | a >>= 2; | ||
| - | System.out.println(" | ||
| - | a %= 7; | ||
| - | System.out.println(" | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | |||
| - | | Προηγούμενο: | ||