#java#長路與&短路與&長路或&短路或

public class HelloWorld {
	public static void main(String[] args) {
		//長路與  無論第一個表達式的值是true或者false,第二個的值,都會被運算
		int i = 2;
		System.out.println( i== 1 & i++ ==2  ); //無論如何i++都會被執行,所以i的值變成了3
		System.out.println(i);
		
		//短路與 只要第一個表達式的值是false的,第二個表達式的值,就不需要進行運算了
		int j = 2;
		System.out.println( j== 1 && j++ ==2  );  //因爲j==1返回false,所以右邊的j++就沒有執行了,所以j的值,還是2
		System.out.println(j);		
		
	}
}
public class HelloWorld {
	public static void main(String[] args) {
		//長路或  無論第一個表達式的值是true或者false,第二個的值,都會被運算
		int i = 2;
		System.out.println( i== 1 | i++ ==2  ); //無論如何i++都會被執行,所以i的值變成了3
		System.out.println(i);
		
		//短路或 只要第一個表達式的值是true的,第二個表達式的值,就不需要進行運算了
		int j = 2;
		System.out.println( j== 2 || j++ ==2  );  //因爲j==2返回true,所以右邊的j++就沒有執行了,所以j的值,還是2
		System.out.println(j);		
		
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章