java - Java if 语句中的 if

标签 java

我在 if 语句中插入 if 语句时遇到一些问题。当满足第一个“if 条件”时,它仍然使用“else”语句。有没有一种方法可以重写我的代码,以便不使用“else”语句。我认为如果满足第一个“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");
        }
    }

控制台: 你可以爬行 可以步行

最佳答案

当前可能发生的情况是,age == 0 条件触发 true,但随后,由于您构造代码的方式,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");
}

关于java - Java if 语句中的 if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50099598/

相关文章:

java - 无法在 JavaLite 中使用数据库属性文件

java - Gradle Eclipse 插件

java - 启用压缩的 Tomcat 在 OS X High Sierra 上导致错误

java - 查找并打印多维数组中值的平方的平均值

javascript - 无法在我的 Angular 应用程序中包含routeProvider

java - ExecutorService 中的 InterruptedException

java - 使用 Jackson 反序列化 LocalDateTime

java - 将日期格式从一个类别更改为另一个类别

java - 温度。变量或方法调用?以及文字变量或等效变量?

java - Android Material 设计错误