Java 条件语句

条件结构具有一个或多个要由程序评估或测试的条件,以及一个或多个语句,这是可选的,如果条件确定为真则将执行,如果条件确定是假的则要执行的其他语句 。

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

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

更多比较运算符请查看 Java 运算符

我们可以使用这些条件为不同的决策执行不同的操作。

Java 有以下条件语句:

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

Java if 语句

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

语法

if (condition) {
  // block of code to be executed if the condition is true
}

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

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

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

运行示例

我们还可以使用变量进行比较:

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

运行示例

示例说明

在上面的示例中,我们使用两个变量 x 和 y 来测试 x 是否大于 y(使用 > 运算符)。 因为 x 是 20,y 是 18,我们知道 20 大于 18,所以我们在屏幕上输出“x 大于 y”。


Java else 语句

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

语法

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

示例

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}

运行示例

在上面的示例中,time (20) 大于 18,因此条件为假。 所以,我们转到 else 条件并在屏幕上输出“Good evening."”。 如果 time 小于 18,程序将打印“Good day”。


Java else if 语句

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

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

示例

int time = 22;
if (time < 10) {
  System.out.println("Good morning.");
} else if (time < 20) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}

运行示例

在上面的示例中,time (22) 大于 10,因此第一个条件为假。 else if 语句中的下一个条件也是假的,因此我们继续处理 else 条件,因为条件 1 和条件 2 都为假——在屏幕上输出“Good evening.”。

但是,如果变量 time 是 14,我们的程序将打印“Good day”。


Java 三元运算符 ?:

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

语法

variable = (condition) ? expressionTrue :  expressionFalse;

对于下面的代码

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}

可以使用三元运算符进行替换

int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);

Java switch 语句

使用 switch 语句选择要执行的许多代码块之一。

语法

switch(expression) {
  case x:
    // 代码块
    break;
  case y:
    // 代码块
    break;
  default:
    // 代码块
}

下面是它的工作原理:

  • switch 表达式被判断一次。
  • 将表达式的值与每种情况的值进行比较。
  • 如果匹配,则执行关联的代码块。
  • break 和 default 关键字是可选的,将在本章后面介绍

下面的示例使用工作日数字来计算工作日是周几:

int day = 4;
switch (day) {
  case 1:
    System.out.println("Monday");
    break;
  case 2:
    System.out.println("Tuesday");
    break;
  case 3:
    System.out.println("Wednesday");
    break;
  case 4:
    System.out.println("Thursday");
    break;
  case 5:
    System.out.println("Friday");
    break;
  case 6:
    System.out.println("Saturday");
    break;
  case 7:
    System.out.println("Sunday");
    break;
}

运行示例

break 关键字

当 Java 遇到 break 关键字时,它会跳出 switch 块。

这将停止在块内执行更多代码和 case 匹配测试。

找到匹配项并完成工作后,就该停止了。 无需进行更多匹配测试。

break 可以节省大量执行时间,因为它“忽略”了 switch 块中所有其余代码的执行。

default 关键字

如果没有大小写匹配,default 关键字指定了一些要运行的代码:

int day = 4;
switch (day) {
  case 6:
    System.out.println("今天是 Saturday");
    break;
  case 7:
    System.out.println("今天是 Sunday");
    break;
  default:
    System.out.println("期待周末!");
}

运行示例

请注意 ,如果将 default 语句用作 switch 块中的最后一条语句,则不需要 break。

查看笔记

扫码一下
查看教程更方便