Java 的邏輯運算子又分為短路型的條件運算子及非短路型的位元運算子。對於短路型的 || ,只要第一個條件為 true,結果就是 true;而對於短路型的 && ,只要第一個條件為 false,結果就是 false,兩者皆不會再對第二個條件做運算。- public class Ch01 {
- public static void main(String[] args) {
- int a=0;
- int b=0;
- if((a++)<2 || (b++)<2) //條件運算子,短路型,只要第一個條件為true,結果就是true
- System.out.println("true");
- else
- System.out.println("false");
- System.out.println("a="+a+" b="+b);
-
- a=0;
- b=0;
- if((a+=2)<2 && (b+=2)<2) //條件運算子,只要第一個條件為false,結果就是false
- System.out.println("true");
- else
- System.out.println("false");
- System.out.println("a="+a+" b="+b);
-
- a=0;
- b=0;
- if((a++)<2 | (b++)<2) //位元運算子,非短路型,兩個條件都會完整跑完
- System.out.println("true");
- else
- System.out.println("false");
- System.out.println("a="+a+" b="+b);
-
- a=0;
- b=0;
- if((a+=2)<2 & (b+=2)<2) //位元運算子,非短路型,兩個條件都會完整跑完
- System.out.println("true");
- else
- System.out.println("false");
- System.out.println("a="+a+" b="+b);
- }
- }
複製代碼 |