Java if ... else

Java 条件和 if 语句

Java 支持数学中常见的逻辑条件:

  • 小于:a < b
  • 小于或等于:a <= b
  • 大于:a > b
  • 大于或等于:a >= b
  • 等于 a == b
  • 不等于:a != b

您可以使用这些条件为不同的决定执行不同的操作。

Java 提供以下条件语句:

  • 使用 if 指定要执行的代码块,如果指定条件为真
  • 使用 else 指定要执行的代码块,如果相同条件为假
  • 如果第一个条件为假,则使用 else if 指定要测试的新条件
  • 使用 switch 指定要执行的多个替代代码块

if 语句

使用 if 语句指定在条件为 true 时要执行的 Java 代码块。

语法

if (condition) {
  // 条件为真时执行的代码块
}

注意:if 是小写字母。大写字母(If、iF 或 IF)将产生错误。

在下例中,我们测试两个值,确定 20 是否大于 18。如果条件为 true,则打印文本:

实例

if (20 > 18) {
  System.out.println("20 大于 18");
}

亲自试一试

我们还可以测试变量:

实例

int x = 20;
int y = 18;
if (x > y) {
  System.out.println("x 大于 y");
}

亲自试一试

例子解释

在上例中,我们使用两个变量 xy 来测试 x 是否大于 y(使用 > 运算符)。因为 x 是 20,y 是 18,我们知道 20 大于 18,所以将在屏幕上打印 "x 大于 y"。

else 语句

如果条件为 false,则使用 else 语句指定要执行的代码块。

语法

if (condition) {
  // 条件为真时执行的代码块
} else {
  // 条件为假时执行的代码块
}

实例

int time = 20;
if (time < 18) {
  System.out.println("日安");
} else {
  System.out.println("晚安");
}
// 输出 "晚安"

亲自试一试

例子解释

在上面的例子中,时间 (20) 大于 18,因此条件为 false。因此,我们转到 else 条件并在屏幕上打印 "晚安"。如果时间小于 18,程序将打印 "日安"。

else if 语句

如果第一个条件为 false,则使用 else if 语句指定新条件。

语法

if (condition1) {
  // 条件 1 为真时执行的代码块
} else if (condition2) {
  // 当条件 1 为假且条件 2 为真时要执行的代码块
} else {
  // 当条件 1 为假且条件 2 为假时要执行的代码块
}

实例

int time = 22;
if (time < 10) {
  System.out.println("早安");
} else if (time < 20) {
  System.out.println("日安");
} else {
  System.out.println("晚安");
}
// 输出 "晚安"

亲自试一试

例子解释

在上面的例子中,时间 (22) 大于 10,因此第一个条件falseelse if 语句中的下一个条件也是 false,因此我们继续处理 else 条件,因为条件 1条件 2 都为 false - 在屏幕上打印 "晚安"。

但是,如果时间是 14,我们的程序将打印 "日安"。

简写 if...else(三元运算符)

还有一个 if else 的简写,被称为三元运算符,因为它由三个操作数组成。它可用一行替换多行代码,通常用于替换简单的 if else 语句:

语法

variable = (condition) ? expressionTrue : expressionFalse;

可以不这样写:

实例

int time = 20;
if (time < 18) {
  System.out.println("早安");
} else {
  System.out.println("晚安");
}

亲自试一试

可以简单地写为:

实例

int time = 20;
String result = (time < 18) ? "早安" : "晚安";
System.out.println(result);

亲自试一试

实际生活中的例子

此例展示了如何使用 if..else 语句,在用户输入正确代码时“打开门”:

实例

int doorCode = 1337;
 
if (doorCode == 1337) {
  System.out.println("代码正确。门已打开。");
} else {
  System.out.println("代码错误。门保持关闭。");
}

亲自试一试

此例展示了如何使用 if..else 语句来判断一个数是正数还是负数:

实例

int myNum = 10; // 这是一个正数还是负数?
 
if (myNum > 0) {
  System.out.println("该值为正数。");
} else if (myNum < 0) {
  System.out.println("该值为负数。");
} else {
  System.out.println("该值为 0。");
}

亲自试一试

判断一个人是否达到投票年龄:

实例

int myAge = 25;
int votingAge = 18;
 
if (myAge >= votingAge) {
  System.out.println("已达到投票年龄!");
} else {
  System.out.println("未达到投票年龄。");
}

亲自试一试

判断一个数是偶数还是奇数:

实例

int myNum = 5;
 
if (myNum % 2 == 0) {
  System.out.println(myNum + " 是偶数");
} else {
  System.out.println(myNum + " 是奇数");
}

亲自试一试