在编程中,我们使用 if..else
语句在多个备选项中运行一个代码块。
例如,根据学生获得的百分比分配成绩(A、B、C)。
- 如果百分比高于 90,则分配成绩 A
- 如果百分比高于 75,则分配成绩 B
- 如果百分比高于 65,则分配成绩 C
1. Java if (if-then) 语句
if-then 语句的语法是
if (condition) {
// statements
}
在此,condition 是一个布尔表达式,例如 age >= 18
。
- 如果 condition 的计算结果为
true
,则执行if
语句内的代码行 - 如果 condition 的计算结果为
false
,则跳过if
语句内的代码行
if 语句的工作原理

示例 1:Java if 语句
class IfStatement {
public static void main(String[] args) {
int number = 10;
// checks if number is less than 0
if (number < 0) {
System.out.println("The number is negative.");
}
System.out.println("Statement outside if block");
}
}
输出
Statement outside if block
在此程序中,number < 0
的结果为 false
。因此,if
语句体内的代码被跳过。
注意:如果您想了解更多关于测试条件的信息,请访问 Java 关系运算符 和 Java 逻辑运算符。
我们也可以使用 Java 字符串 作为测试条件。
示例 2:Java if 语句与 String
class Main {
public static void main(String[] args) {
// create a string variable
String language = "Java";
// if statement
if (language == "Java") {
System.out.println("Best Programming Language");
}
}
}
输出
Best Programming Language
在上面的示例中,我们在 if
块中比较了两个字符串。
2. Java if...else (if-then-else) 语句
如果测试表达式的计算结果为 true
,if
语句将执行特定部分的代码。但是,如果测试表达式的计算结果为 false
,则不执行任何操作。
在这种情况下,我们可以使用可选的 else
块。如果测试表达式的计算结果为 false
,则执行 else
块内的语句。这被称为 Java 中的if-...else 语句。
if...else 语句的语法是
if (condition) {
// codes in if block
}
else {
// codes in else block
}
在这里,如果条件为 true
,程序将执行一项任务(if
块内的代码);如果条件为 false
,则执行另一项任务(else
块内的代码)。
if...else 语句如何工作?

示例 3:Java if...else 语句
class Main {
public static void main(String[] args) {
int number = 10;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
}
// execute this block
// if number is not greater than 0
else {
System.out.println("The number is not positive.");
}
System.out.println("Statement outside if...else block");
}
}
输出
The number is positive. Statement outside if...else block
在上面的示例中,我们有一个名为 number 的变量。这里,测试表达式 number > 0
检查 number 是否大于 0。
由于 number 的值为 10,测试表达式的计算结果为 true
。因此,执行了 if
体内的代码。
现在,将 number 的值更改为一个负整数。比如 -5。
int number = -5;
如果我们使用新的 number 值运行程序,输出将是
The number is not positive. Statement outside if...else block
这里,number 的值为 -5。因此,测试表达式的计算结果为 false
。因此,执行了 else
体内的代码。
3. Java if...else...if 语句
在 Java 中,我们有一个 if...else...if 阶梯,可用于在多个代码块中执行一个代码块。
if (condition1) {
// codes
}
else if(condition2) {
// codes
}
else if (condition3) {
// codes
}
.
.
else {
// codes
}
在这里,if
语句从上到下执行。当测试条件为 true
时,将执行该 if
块体内的代码。并且,程序控制会跳出 if...else...if 阶梯。
如果所有测试表达式都为 false
,则执行 else
体内的代码。
if...else...if 阶梯如何工作?

示例 4:Java if...else...if 语句
class Main {
public static void main(String[] args) {
int number = 0;
// checks if number is greater than 0
if (number > 0) {
System.out.println("The number is positive.");
}
// checks if number is less than 0
else if (number < 0) {
System.out.println("The number is negative.");
}
// if both condition is false
else {
System.out.println("The number is 0.");
}
}
}
输出
The number is 0.
在上面的示例中,我们正在检查 number 是 正数、负数还是零。这里,我们有两个条件表达式
number > 0
- 检查 number 是否大于 0number < 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) {
// declaring double type variables
Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest;
// checks if n1 is greater than or equal to n2
if (n1 >= n2) {
// if...else statement inside the if block
// checks if n1 is greater than or equal to n3
if (n1 >= n3) {
largest = n1;
}
else {
largest = n3;
}
} else {
// if..else statement inside else block
// checks if n2 is greater than or equal to n3
if (n2 >= n3) {
largest = n2;
}
else {
largest = n3;
}
}
System.out.println("Largest Number: " + largest);
}
}
输出:
Largest Number: 4.5
在上面的程序中,我们自己为 变量 赋值,以便更容易理解。
但是,在实际应用中,这些值可能来自用户输入数据、日志文件、表单提交等。