Java 条件语句

Java if…else 语句是条件语句,用于在满足某个条件时执行某些代码。在本教程中,我们通过示例介绍了 Java if 和 if…else 流程控制控制语句。

Java if...else 语句是条件语句,用于在满足某个条件时执行某些代码。在本教程中,我们通过示例介绍了 ifif...else 流程控制语句。

在编程中,我们使用 if...else 语句在满足某个条件时运行一个代码块。

例如,根据学生的分数成绩计算出等级成绩(A、B、C)。

  • 如果分数高于 90,则指定为 A 级
  • 如果分数高于 75,则指定为 B 级
  • 如果分数高于 65,则指定为 C 级

Java if 语句

if-then 语句的语法是:

if (condition) {
  // statements
}

这里, condition 是一个布尔表达式,例如 age >= 18 .

  • 如果 condition 计算结果为 true ,if 语句块中的代码被执行
  • 如果 condition 计算结果为 false ,if 语句块中的代码被跳过

if 语句的逻辑

看下图理解 Java if 语句的逻辑:

如果数字大于 0,则执行 if 块中的代码,否则跳过 if 块中的代码
Java if 语句的工作

示例 1:Java if 语句

public class IfStatement {
  public static void main(String[] args) {

    int number = 10;

    // 检查数字是否小于 0
    if (number < 0) {
      System.out.println("数字是负数。");
    }

    System.out.println("执行了 if 块之外的语句。");
  }
}

输出

执行了 if 块之外的语句。

在程序中, number < 0false 。因此,括号内的代码被跳过。

注意:如果您想了解有关逻辑测试条件的更多信息,请访问 Java 运算符章节。

我们也可以使用 Java 字符串)作为测试条件,请看下面的例子。

示例 2:Java if 语句判断字符串

public class Main {
  public static void main(String[] args) {
    // 创建一个字符串变量
    String language = "Java";

    // 判断字符串内容是否是 Java
    if (language == "Java") {
      System.out.println("Best Programming Language");
    }
  }
}

输出

Best Programming Language

在上面的例子中,我们在 if 条件中比较的是两个字符串是否相同。

Java if…else 语句

if 语句如果测试表达式的计算结果为 true,则该语句执行特定代码段。但是,如果测试表达式的计算结果为 false,则它什么都不做。

if...else 语句如果测试表达式的计算结果为 true,则该语句执行 if 代码段;如果测试表达式的计算结果为 false,则该语句执行 else 代码段。

if...else 语句的语法是:

if (condition) {
  // codes in if block
}
else {
  // codes in else block
}

if…else 语句如何工作?

看下图理解 Java if-else 语句的逻辑:

如果条件为真,则执行 if 块中的代码,否则执行 else 块中的代码
Java if-else 语句的工作

示例 3:Java if…else 语句

public class Main {
  public static void main(String[] args) {
    int number = 10;

    // 检查 number 是否大于 0
    if (number > 0) {
      System.out.println("数字是正数。");
    }

    // 如果 number 不大于 0,执行以下代码
    else {
      System.out.println("The number is not positive.");
    }

    System.out.println("Statement outside if...else block");
  }
}

输出

数字是正数。
Statement outside if...else block

在上面的例子中,我们有一个名为 number 的变量。测试表达式 number > 0 检查 number 是否大于 0

由于 number 的值是 10,测试表达式的计算结果为 true 。因此,主体内的代码 if 被执行。

现在,更改 number 为负整数。比如 -5

int number = -5;

如果我们使用新的值运行程序,输出将是:

The number is not positive.
Statement outside if...else block

这里 number 值是 -5, 因此测试表达式的计算结果为 false 。因此, else 主体内的代码被执行。

Java if…else…if 语句

在 Java 中,还可以使用 if…else…if 语句,类似于梯形图,可用于针对在多个不同条件下执行不同的代码。

if (condition1) {
  // codes
}
else if(condition2) {
  // codes
}
else if (condition3) {
  // codes
}
.
.
else {
  // codes
}

该语句从上到下依次执行 if 语句,只要当前 if 的测试条件为 true,就执行当前的 if 代码块,然后跳出整个语句。如果所有测试表达式都是 false ,则执行 else 主体内的代码。

if…else…if 语句如何工作?

看下图理解 if…else…if 语句的逻辑:

如果第一个测试条件为真,则执行第一个 if 块中的代码,如果第二个条件为真,则执行第二个 if 中的块,如果所有条件为假,则执行 else 块
if...else...if 语句的工作

示例 4:Java if…else…if 语句

public class Main {
  public static void main(String[] args) {

    int number = 0;

    // 检查 number 是否大于 0
    if (number > 0) {
      System.out.println("数字是正数。");
    }

    // 检查 number 是否小于 0
    else if (number < 0) {
      System.out.println("数字是负数。");
    }

    // 0
    else {
      System.out.println("The number is 0.");
    }
  }
}

输出

The number is 0.

在上面的例子中,我们判断 number 是否是正数、负数或零。在这里,我们有两个条件表达式:

  • number > 0 - 判断 number 是否大于 0
  • number < 0 - 判断 number 是否小于 0

例子中 number 的值是 0, 所以这两个条件都评估为 false 。因此, else 语句被执行。

! 注意:Java 提供了一种称为三元运算符的特殊运算符,它是 if…else…if 语句的一种简写符号。要了解三元运算符,请访问Java 三元运算符

Java 嵌套 if..else 语句

在 Java 中,也可以在 if..else 语句中使用 if...else 语句。它被称为嵌套 if...else 语句。

这是一个使用嵌套 if...else 语句查找 3 个数字中最大的一个程序。

示例 5:嵌套 if…else 语句

public class Main {
  public static void main(String[] args) {

    // 声明变量
    Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest;

    // 检查 n1 是否大于等于 n2
    if (n1 >= n2) {

      if (n1 >= n3) {
        largest = n1;
      }

      else {
        largest = n3;
      }
    } else {

      if (n2 >= n3) {
        largest = n2;
      }

      else {
        largest = n3;
      }
    }

    System.out.println("最大数:" + largest);
  }
}

输出

最大数:4.5

在上面的程序中,我们自己分配了变量的值以使其更容易。但是,在实际应用中,这些值可能来自用户输入数据、日志文件、表单提交等。