返回列表 發帖

位元運算子 (一)

本帖最後由 tonyh 於 2020-5-18 18:46 編輯

Java 的邏輯運算子又分為短路型的條件運算子及非短路型的位元運算子。對於短路型的 || ,只要第一個條件為 true,結果就是 true;而對於短路型的 && ,只要第一個條件為 false,結果就是 false,兩者皆不會再對第二個條件做運算。
  1. public class Ch01 {

  2.         public static void main(String[] args) {
  3.                 int a=0;
  4.             int b=0;
  5.                 if((a++)<2 || (b++)<2)    //條件運算子,短路型,只要第一個條件為true,結果就是true
  6.                         System.out.println("true");
  7.                 else
  8.                         System.out.println("false");
  9.                 System.out.println("a="+a+" b="+b);
  10.                
  11.                 a=0;
  12.                 b=0;
  13.                 if((a+=2)<2 && (b+=2)<2)    //條件運算子,只要第一個條件為false,結果就是false
  14.                         System.out.println("true");
  15.                 else
  16.                         System.out.println("false");
  17.                 System.out.println("a="+a+" b="+b);
  18.                
  19.                 a=0;
  20.                 b=0;
  21.                 if((a++)<2 | (b++)<2)     //位元運算子,非短路型,兩個條件都會完整跑完
  22.                         System.out.println("true");
  23.                 else
  24.                         System.out.println("false");
  25.                 System.out.println("a="+a+" b="+b);
  26.                
  27.                 a=0;
  28.                 b=0;
  29.                 if((a+=2)<2 & (b+=2)<2)   //位元運算子,非短路型,兩個條件都會完整跑完
  30.                         System.out.println("true");
  31.                 else
  32.                         System.out.println("false");
  33.                 System.out.println("a="+a+" b="+b);
  34.         }

  35. }
複製代碼

  1. public class Ch01 {
  2.         public static void main(String[] args) {
  3.                 int a=0;
  4.                 int b=0;
  5.                 if((a++)<2 || (b++)<2)
  6.                         System.out.println("true");
  7.                 else
  8.                         System.out.println("false");
  9.                 System.out.println("a="+a+" b="+b);
  10.                 a=0;
  11.                 b=0;
  12.                 if((a+=2)<2 && (b+=2)<2)
  13.                         System.out.println("true");
  14.                 else
  15.                         System.out.println("false");
  16.                 System.out.println("a="+a+" b="+b);
  17.                 a=0;
  18.                 b=0;
  19.                 if((a++)<2 | (b++)<2)  
  20.                         System.out.println("true");
  21.                 else
  22.                         System.out.println("false");
  23.                 System.out.println("a="+a+" b="+b);
  24.                 a=0;
  25.                 b=0;
  26.                 if((a+=2)<2 & (b+=2)<2)
  27.                         System.out.println("true");
  28.                 else
  29.                         System.out.println("false");
  30.                 System.out.println("a="+a+" b="+b);
  31.         }
  32. }
複製代碼
Allen

TOP

  1. public class Ch01 {
  2.         public static void main(String[] args) {
  3.                 int a=0;
  4.                 int b=0;
  5.                 if((a++)<2 || (b++)<2)
  6.                         System.out.println("true");
  7.                 else
  8.                         System.out.println("false");
  9.                 System.out.println("a="+a+" b="+b);
  10.                 a=0;
  11.                 b=0;
  12.                 if((a+=2)<2 && (b+=2)<2)
  13.                         System.out.println("true");
  14.                 else
  15.                         System.out.println("false");
  16.                 System.out.println("a="+a+" b="+b);
  17.                 a=0;
  18.                 b=0;
  19.                 if((a++)<2 | (b++)<2)
  20.                         System.out.println("true");
  21.                 else
  22.                         System.out.println("false");
  23.                 System.out.println("a="+a+" b="+b);
  24.                 a=0;
  25.                 b=0;
  26.                 if((a+=2)<2 & (b+=2)<2)
  27.                         System.out.println("true");
  28.                 else
  29.                         System.out.println("false");
  30.                 System.out.println("a="+a+" b="+b);
  31.         }
  32. }
複製代碼
Ivy

TOP

  1. public class Ch00 {

  2.         public static void main(String[] args) {
  3.                 int a=0,b=0;
  4.                 if((a++)<2 || (b++)<2)
  5.                         System.out.println("true");
  6.                 else
  7.                         System.out.println("false");
  8.                 System.out.println("a="+a+"b="+b);
  9.                
  10.                 a=0;
  11.                 b=0;
  12.                 if((a+=2)<2 && (b+=2)<2)
  13.                         System.out.println("true");
  14.                 else
  15.                         System.out.println("false");
  16.                 System.out.println("a="+a+"b="+b);
  17.                
  18.                 a=0;
  19.                 b=0;
  20.                 if((a++)<2 | (b++)<2)
  21.                         System.out.println("true");
  22.                 else
  23.                         System.out.println("false");
  24.                 System.out.println("a="+a+"b="+b);
  25.                
  26.                 a=0;
  27.                 b=0;
  28.                 if((a+=2)<2 & (b+=2)<2)
  29.                         System.out.println("true");
  30.                 else
  31.                         System.out.println("false");
  32.                 System.out.println("a="+a+"b="+b);

  33.         }

  34. }
複製代碼

TOP

  1. public class Ch01 {

  2.         public static void main(String[] args) {
  3.                 int a=0;
  4.             int b=0;
  5.                 if((a++)<2 || (b++)<2)   
  6.                         System.out.println("true");
  7.                 else
  8.                         System.out.println("false");
  9.                 System.out.println("a="+a+" b="+b);
  10.                
  11.                 a=0;
  12.                 b=0;
  13.                 if((a+=2)<2 && (b+=2)<2)   
  14.                         System.out.println("true");
  15.                 else
  16.                         System.out.println("false");
  17.                 System.out.println("a="+a+" b="+b);
  18.                
  19.                 a=0;
  20.                 b=0;
  21.                 if((a++)<2 | (b++)<2)     
  22.                         System.out.println("true");
  23.                 else
  24.                         System.out.println("false");
  25.                 System.out.println("a="+a+" b="+b);
  26.                
  27.                 a=0;
  28.                 b=0;
  29.                 if((a+=2)<2 & (b+=2)<2)   
  30.                         System.out.println("true");
  31.                 else
  32.                         System.out.println("false");
  33.                 System.out.println("a="+a+" b="+b);
  34.         }

  35. }
複製代碼
我是嘉禾豬   我是嘉禾豬   我是嘉禾豬

TOP

  1. public class Ch01 {

  2.         public static void main(String[] args) {
  3.                 int a=0;
  4.                 int b=0;
  5.                 if((a++)<2 || (b++)<2)
  6.                 System.out.println("true");
  7.         else
  8.                 System.out.println("false");
  9.                  System.out.println("a="+a+" b="+b);
  10.                 a=0;
  11.                 b=0;
  12.            if((a+=2)<2 && (b+=2)<2)
  13.                    System.out.println("true");
  14.            else
  15.                    System.out.println("false");
  16.             System.out.println("a="+a+" b="+b);
  17.            a=0;
  18.            b=0;
  19.             
  20.             if((a++)<2 | (b++)<2)   
  21.                     System.out.println("true");
  22.             else
  23.                     System.out.println("false");
  24.             System.out.println("a="+a+" b="+b);
  25.            a=0;
  26.            b=0;
  27.          
  28.             if((a+=2)<2 & (b+=2)<2)   
  29.                     System.out.println("true");
  30.             else
  31.                     System.out.println("false");
  32.             System.out.println("a="+a+" b="+b);
  33.     }

  34. }
複製代碼

TOP

  1. public class Ch01 {

  2.         public static void main(String[] args) {
  3.                 int a=0;
  4.             int b=0;
  5.                 if((a++)<2 || (b++)<2)   
  6.                         System.out.println("true");
  7.                 else
  8.                         System.out.println("false");
  9.                 System.out.println("a="+a+" b="+b);
  10.                
  11.                 a=0;
  12.                 b=0;
  13.                 if((a+=2)<2 && (b+=2)<2)  
  14.                         System.out.println("true");
  15.                 else
  16.                         System.out.println("false");
  17.                 System.out.println("a="+a+" b="+b);
  18.                
  19.                 a=0;
  20.                 b=0;
  21.                 if((a++)<2 | (b++)<2)   
  22.                         System.out.println("true");
  23.                 else
  24.                         System.out.println("false");
  25.                 System.out.println("a="+a+" b="+b);
  26.                
  27.                 a=0;
  28.                 b=0;
  29.                 if((a+=2)<2 & (b+=2)<2)  
  30.                         System.out.println("true");
  31.                 else
  32.                         System.out.println("false");
  33.                 System.out.println("a="+a+" b="+b);
  34.         }

  35. }
複製代碼

TOP

返回列表