如何解决不带花括号的if语句可与多行if语句一起使用?
public class Main {
public static void main(String[] args) {
int x = 1;
if (x < 10)
if (x == 0)
System.out.println("Zero");
else if (x == 1)
System.out.println("One");
else
System.out.println("Other but smaller than 10");
else
System.out.println("Greater than 10");
}
}
我刚刚尝试过,它的工作原理与用花括号包围内部条件完全一样。
我知道可以在不使用花括号的情况下执行一行语句,但是为什么在这种情况下它可以工作?
谢谢,如果这是一个明显的问题,我感到抱歉。
解决方法
之所以起作用,是因为它可以占用整个if-else块或另一个块。例如,这也可以用于for循环:
for(String e : strArray)
if(e.equals(str))
System.out.println("Yes);
else...
,
这可以按预期工作,因为每个if,else-if和else块中只有一个语句。如果您尝试在此块的任何一个中放置多个语句,则会失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。