[英]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.