没有大括号if else语句?

时间:2016-03-26 17:49:25

标签: java if-statement

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

“其他”会运行吗?哪个“如果”属于哪个?为什么或者为什么不?感谢

2 个答案:

答案 0 :(得分:2)

如果未提及Else

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

所以如果你不把括号放在其他地方就不会执行。

答案 1 :(得分:1)

它将打印出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); 

这就是为什么正确使用括号(){}的原因不仅仅是推荐!