我在if语句中插入if语句时遇到了一些麻烦。当第一个条件'如果满足,它仍然使用其他'声明。有没有办法可以重写我的代码,以便其他'其他'声明未被利用。我认为,如果第一个'如果条件'遇到了,然后它不会检查else语句。我知道我可以使用switch语句,但我想比较和对比switch和if语句的用法,以便更好地理解Java。以下是我的代码。谢谢
int age = 0;
if (age == 0)
{
{System.out.println("You can crawl");}
if (age == 1) {
System.out.println("You can talk");
} else {
System.out.println("You can walk");
}
}
控制台: 你可以爬行 你可以走路了
答案 0 :(得分:5)
当前可能发生的是age == 0
条件触发为真,但是,由于您构造代码的方式,else
条件也会触发,作为完全的谓词单独if
条件检查age == 1
。解决方案很简单,通过if ... else if ... else
逻辑连接所有内容:
if (age == 0) {
System.out.println("You can crawl");
}
else if (age == 1) {
System.out.println("You can talk");
}
else {
System.out.println("You can walk");
}
答案 1 :(得分:0)
您可以做两件事:
首先,如果您想要独占if
,您可以在一系列else if
语句中对它们进行分支,即:
if (age == 0) {
System.out.println("You can crawl");
} else if (age == 1) {
System.out.println("You can talk");
} else {
System.out.println("You can walk");
}
如果你真的想要使用分支if
语句,那么语句必须分支,即你必须正确地嵌套括号:
if (age == 0) {
System.out.println("You can crawl");
} else {
if (age == 1) {
System.out.println("You can talk");
} else {
System.out.println("You can walk");
}
}
使用实际为您编写代码并使用适当缩进的编辑器可以在这里提供帮助。