關於Java中的&、|、&&、||符號的理解
阿新 • • 發佈:2020-12-09
&、|是運算元運算子,在if條件中不會造成短路;&運算布林值時,只要有一個為false結果就為false,|運算布林值時,只要有一個為true結果就為true。
&&、||是邏輯運算子,在if條件中會造成短路。
@Test public void testOperator(){ System.out.println(false & true); System.out.println(true & true); System.out.println(false | true); System.out.println(false | false); }
@Test public void testIfCondition(){ int m = 27; int n = 28; if ((m != 27) && (n++ == 28)){ System.out.println("m != 27條件為false"); //此句不會輸出,因為m != 27條件為false } System.out.println("n = " + n); // n = 28, 因為&&後的條件短路 System.out.println("-------------------------------------"); if ((m == 27) || (n++ == 28)){ System.out.println("m == 27條件為true"); //此句會輸出,因為m == 27條件為true } System.out.println("n = " + n); // n = 28, 因為||後的條件短路 }