運算子,元(符號)
(一)算數運算子 => +(加), -(減), *(乘), /(除), %(餘數)
5%2 ---> 1
二元運算子
運算元,也就是運算符號,
運算子需要兩個運算元進行運算,稱為二元運算子
1 + 2 1與2為運算元
(二)指定運算子 => =
將 = 運算子 右邊的運算結果 指定給 左邊的變數
Ex :
int x = 10;
int y = 5;
int sum = x + y ;
1.不是 "相等"
2.變數 = 值, 變數, 計算式
↓
一定要變數
int eng = 100;
3.可搭配變數值的 "堆疊運用"
4.延伸出 "遞增" 應用
+= , -=, *= , /=, %=,++, --
Ex :
int a=5;
int b=2;
a += b; // a = 7
a -= b; // a = 3
a *= b; // a = 10
a /= b; // a = 2
a %= b; // a = 1
Ex :
遞增
x = 10;
x++;
System.out.println(x); -->顯示為 11
遞增
x = 9;
x--;
System.out.println(x); -->顯示為 9
遞增及遞減可放前置或後置做先加跟後加的動作。
遞增違例(前置) :
運算元的值先加1,再結合其他運算子做結算
int x = 10;
int y = ++x;
x = 11;
y = 11;
(後置):
先結合其他運算,再自動加1
int x = 10;
int y = x++;
x = 11;
y = 10;
進階範例 :
public class Test遞增 {
public static void main(String[] args) {
int a = 10;
int b = ++a;
System.out.println("b = " + b);
System.out.println("-------------------");
int c = b += 5;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
public static void main(String[] args) {
int a = 10;
int b = ++a;
System.out.println("b = " + b);
System.out.println("-------------------");
int c = b += 5;
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
輸出結果 :
(三)關係運算子Relational Operator
=>用於判斷與邏輯設計
=>用會產生兩種結果 ↗ true
↘ false
=>符號種類 >, <, >=, <=, ==, !=
例子:
float f = 0.1F;
double d = 0.1;
System.out.println("f = " + f);
System.out.println("d = " + d);
System.out.println( "f == d is " + (f == d) );
結果:
f == d is false
(四)邏輯運算子
捷徑運算(short-circuit evaluation)
&& AND
|| OR
能從運算元1知道結果,就不必評估運算元2
運算元1 && 運算元2
運算元1 || 運算元2
前後運算元都必須是布林運算式(boolean expression),
運算結果為 true 或 false
英文>=90 && 數學>=90 則錄取 (如果英文低於90就不用看數學了)
英文>=90 || 數學>=90 則錄取 (如果英文高於90就不用看數學了)
非捷徑運算 (Not short-circuit evaluation)
& AND
| OR
^ XOR
! NOT
(五)條件運算子
三元運算子 (ternary operator)
運算元1 ? 運算元2 : 運算元3
運算元1 是一個 布林運算式(boolean expression),
值為 true 運算結果為 運算元2
值為 false 運算結果為 運算元3
範例:
public class Test_三元條件運算 {
public static void main(String[] args) {
int eng = 95;
int math = 100;
System.out.println("eng = " + eng);
System.out.println("math = " + math);
String result = eng >=90 && math >= 90 ? "錄取" : "未錄取";
System.out.println(result);
}
}
public static void main(String[] args) {
int eng = 95;
int math = 100;
System.out.println("eng = " + eng);
System.out.println("math = " + math);
String result = eng >=90 && math >= 90 ? "錄取" : "未錄取";
System.out.println(result);
}
}
輸出結果 :
沒有留言:
張貼留言