短路與和與、短路或和或的區別
阿新 • • 發佈:2018-12-09
&&(短路與)與&的區別:
- 最終結果都是一樣的
&&具有短路的效果。左邊是false,右邊就不執行
例如: int x = 3; int y = 4; System.out.println((++x == 3) & (++y == 4)); //false & false = false System.out.println("x = " + x); //x = 4 System.out.println("y = " + y); //y = 5 System.out.println((++x == 3) && (++y == 4)); //false & false = false System.out.println("x = " + x); //x = 5 System.out.println("y = " + y); //y = 5
||(短路或)與|的區別:
- 最終的效果都是一樣的
||具有短路的效果,左邊為true,右邊不執行
int x = 3; int y = 4; System.out.println((++x == 3) | (++y == 4)); //false & false = false System.out.println("x = " + x); //x = 4 System.out.println("y = " + y); //y = 5 System.out.println((++x == 3) || (++y == 4)); //false & false = false System.out.println("x = " + x); //x = 5 System.out.println("y = " + y); //y = 6