Java的&運算子作用於boolean運算元

yoyochina發表於2009-02-17

Java的&操作符可以作用於boolean型別的運算元上嗎?如下面的程式碼所示:

 

public class Test
{
	public static void main(String[] args)
	{
		System.out.println(true & true);
		System.out.println(true & false);
		System.out.println(false & true);
		System.out.println(false & false);
		
		System.out.println(true && true);
		System.out.println(true && false);
		System.out.println(false && true);
		System.out.println(false && false);
	}
}

 

輸出結果為:

true
false
false
false
true
false
false
false

 

對上面的運算,當&與&&操作符分別作用於boolean型別的運算元時,其結果看起來是一樣的,但內部運算有什麼不同嗎?

 

當Java的&(按位與)操作符作用於boolean型別的運算元時,它的功能被過載為&&(邏輯與)操作符,區別:& 操作符總是要計算它的兩個運算元,而 && 操作符在其左邊的運算元被計算為 false 時,就不再計算右邊的運算元了。

相關文章