簡體   English   中英

如果 else 語句沒有大括號?

[英]No curly braces if else statements?

int x = 5, y = 5, z = 5;
  if ( x != 5 )
    if ( y <= 7 )
    z = z + 4;
  else
    z = z + 2;
 System.out.println( z ); 

“其他”會運行嗎? 它屬於哪個“如果”? 為什么或者為什么不? 謝謝

Else通常與最后一個if , if {}未提及。 因此,在您的情況下, elseif ( y <= 7 ) ,因此不會被執行。 查看您的代碼,您似乎需要這種方式

int x = 5, y = 5, z = 5;
if ( x != 5 ){
    if ( y <= 7 )
    z = z + 4;
}
else{
    z = z + 2;
}
System.out.println( z ); 

所以如果你不把括號放在這里,否則不會執行。

它將打印出5 它甚至沒有接近第二個if-else ,因為沒有通過第一個條件x!=5並且缺少else語句,它會轉到您打印變量的最后一行。 它與以下內容相同:

int x=5, y=5, z=5;
if (x!=5) {
    if (y<=7) {
        z=z+4;
    } else {
        z=z+2;
    }
}
System.out.println(z); 

這就是為什么正確使用括號(){}的原因超過推薦!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM