if條件語句判斷條件辨析
阿新 • • 發佈:2019-01-01
if條件語句是使用布林表示式或布林值作為分支條件來進行分支控制。
1.也就是說當表示式值不為布林值時編譯報錯:如下
if(a=1){
System.out.println("a");
}
原因為表示式a=1是將a賦值為1,是個整形量,不是布林值,故而程式報錯。
2.修改程式為:
int a=1;
if(a==1){
System.out.println("a");
}
程式順利通過編譯,輸出結果為:
由於表示式a==1的值為true,是個布林型數值,所以if條件語句識別出這個值,執行了true時的分支選項。
3.那麼當賦值為布林值賦值表示式的情況呢?
boolean b=false;
if(b=false){
System.out.println("false");
}else{
System.out.println("true");
}
輸出結果如下:
也就是說if條件語句執行了false的分支選項,輸出了字串true。試著按著上述方法分析,表示式b=false為賦值語句,值為false,故而執行了false的選擇項。那麼現在做出如下修改:
boolean b=false; if(b=true){ System.out.println("false"); }else{ System.out.println("true"); }
執行結果應當是false。實際輸出結果為:
實質上是直接送入一個布林值給判斷條件。
4.如果表示式為比較運算子==連線,如下:
boolean b=false;
if(b==false){
System.out.println("false");
}else{
System.out.println("true");
}
那麼如同之前整數的關係運算符一樣,這裡表示式的值應當為true,輸出結果為false。實際所得的結果如下:
綜上所述,if條件語句的判斷條件實質上就是一個布林值,這個布林值可以通過關係運算符來表達(2,4),也可以直接的給出這個布林值(3)。但是無論哪種方法,都要確保表示式的值為布林值,否則編譯會報錯(1)。