跳到主要内容

Java if...else 语句

提示
  1. if...else 语句的基本概念if...else语句用于在程序中进行决策,根据条件执行不同代码块。
  2. if...else...if阶梯结构if...else...if语句用于多条件判断,仅当某个条件为真时,执行对应的代码块。
  3. 嵌套if...else语句:在一个if...else语句内部可以包含另一个if...else语句,这称为嵌套if...else,用于更复杂的条件判断。

在编程中,我们使用 if..else 语句在多个选择中执行一段代码。

例如,根据学生获得的百分比分配成绩(A、B、C)。

  • 如果百分比超过 90,分配成绩 A
  • 如果百分比超过 75,分配成绩 B
  • 如果百分比超过 65,分配成绩 C

1. Java if(if-then)语句

if-then 语句的语法是:

if (condition) {
// 语句
}

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

  • 如果 condition 计算结果为 true,则执行语句
  • 如果 condition 计算结果为 false,则跳过语句

if 语句的工作原理

如果数字大于 0,if 块内的代码被执行,否则 if 块内的代码被跳过

示例 1:Java if 语句

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

int number = 10;

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

System.out.println("if 块外的语句");
}
}

输出

if 块外的语句

在程序中,number < 0 的结果是 false。因此,if 语句体内的代码被跳过

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

我们也可以使用 Java 字符串 作为测试条件。

示例 2:带有字符串的 Java if

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

// if 语句
if (language == "Java") {
System.out.println("最佳编程语言");
}
}
}

输出

最佳编程语言

在上面的例子中,我们在 if 块中比较了两个字符串。

2. Java if...else(if-then-else)语句

如果测试表达式计算为 trueif 语句执行特定部分的代码。然而,如果测试表达式计算为 false,它什么也不做。

在这种情况下,我们可以使用一个可选的 else 块。如果测试表达式计算为 falseelse 块体内的语句就会执行。这就是 Java 中的 if-...else 语句。

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

if (condition) {
// if 块中的代码
}
else {
// else 块中的代码
}

在这里,如果条件为 true,程序将执行一项任务(if 块内的代码),如果条件为 false,则执行另一项任务(else 块内的代码)。

if...else 语句是如何工作的?

如果条件为真,执行 if 块内的代码,否则,执行 else 块内的代码

示例 3:Java if...else 语句

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("数字不是正数。");
}

System.out.println("if...else 块外的语句");
}
}

输出

数字是正数。
if...else 块外的语句

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

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

现在,将 number 的值更改为一个负整数。比如说 -5

int number = -5;

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

数字不是正数。
if...else 块外的语句

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

3. Java if...else...if 语句

在 Java 中,我们有一个 if...else...if 阶梯,可用于在多个其他代码块中执行一个代码块。

if (condition1) {
// 代码
}
else if(condition2) {
// 代码
}
else if (condition3) {
// 代码
}
.
.
else {
// 代码
}

这里,if 语句从上到下执行。当测试条件为 true 时,执行该 if 块体内的代码。然后,程序控制跳出 if...else...if 阶梯。

如果所有测试表达式都为 false,则执行 else 体内的代码。

if...else...if 阶梯是如何工作的?

如果第一个测试条件为真,执行第一个 if 块内的代码,如果第二个条件为真,执行第二个 if 内的块,如果所有条件都为假,执行 else 块

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

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("数字是负数。");
}

// 如果两个条件都为假
else {
System.out.println("数字是 0。");
}
}
}

输出

数字是 0

在上面的示例中,我们正在检查 number正数负数还是。这里,我们有两个条件表达式:

  • number > 0 - 检查 number 是否大于 0
  • number < 0 - 检查 number 是否小于 0

这里,number 的值是 0。所以两个条件都计算为 false。因此,执行 else 体内的语句。

注意:Java

提供了一种特殊的运算符称为三元运算符,它是 if...else...if 语句的一种简写形式。要了解三元运算符,请访问 Java 三元运算符

4. Java 嵌套 if..else 语句

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

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

示例 5:嵌套 if...else 语句

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

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

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

// if...else 语句在 if 块内
// 检查 n1 是否大于或等于 n3
if (n1 >= n3) {
largest = n1;
}

else {
largest = n3;
}
} else {

// if..else 语句在 else 块内
// 检查 n2 是否大于或等于 n3
if (n2 >= n3) {
largest = n2;
}

else {
largest = n3;
}
}

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

输出:

最大的数字是:4.5

在上述程序中,为了方便理解,我们自己赋值了变量。

然而,在实际应用中,这些值可能来自用户输入数据、日志文件、表单提交等。