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);
}
}