Board logo

標題: 位元運算子 (一) [打印本頁]

作者: tonyh    時間: 2020-5-18 18:42     標題: 位元運算子 (一)

本帖最後由 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. }
複製代碼

作者: 黃宇綸    時間: 2020-5-18 19:44

  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. }
複製代碼

作者: 黃宇瑄    時間: 2020-5-18 19:44

  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. }
複製代碼

作者: 李沛昂    時間: 2020-5-18 19:44

  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. }
複製代碼

作者: 戴嘉禾    時間: 2020-5-18 20:25

  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. }
複製代碼

作者: 洪翊展    時間: 2020-5-25 18:39

  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. }
複製代碼

作者: 洪翊庭    時間: 2020-5-25 18:46

  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. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/) Powered by Discuz! 7.2