[英]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 {}
未提及。 因此,在您的情況下, else
與if ( 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.