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。