“邏輯和”與 “邏輯或”運算子
阿新 • • 發佈:2019-01-25
1.邏輯和運算子有兩種形式:&&與&,二者的不同之處在於,當第一個表示式為假時,&&運算子會短路
public static void main(String[] args) {
int x=0;
if((x!=0)&&(x++>10)){
}
System.out.println(x);//x=0,第一個表示式為假,第二個表示式x++就不再發生
}
而&運算子效果如下
public static void main(String[] args) {
int x=0;
if ((x!=0)&(x++>10)){
}
System.out.println(x);//x=1 雖然第一個為假,但是x++依然執行了
}
2.同理邏輯與也有兩種形式:||與|
當第一個表示式為真時,||會造成短路
public static void main(String[] args) {
int x=0;
if((x==0)||(x++>10)){
}
System.out.println(x);//x=0,x++沒有執行
}
而|則不會
public static void main(String[] args) {
int x=0;
if((x==0)|(x++>10)){
}
System.out.println(x);//x=1,x++執行
}
使用的時候可能忽略了這些細節,僅此記下