在 Java 中,分支结构用于根据不同的条件执行不同的代码块,主要有 if - else
语句和 switch
语句两种,以下为你详细介绍:
1. if - else
语句
if - else
语句是 Java 中最基本的分支结构,它根据条件表达式的布尔值(true
或 false
)来决定执行哪一段代码。
基本的 if
语句
收起
java
public class IfExample {
public static void main(String[] args) {
int num = 10;
if (num > 5) {
System.out.println("数字大于 5");
}
}
}
上述代码中,如果 num > 5
这个条件为 true
,就会执行 if
语句块中的代码,即输出 "数字大于 5"。
if - else
语句
收起
java
public class IfElseExample {
public static void main(String[] args) {
int num = 3;
if (num > 5) {
System.out.println("数字大于 5");
} else {
System.out.println("数字小于等于 5");
}
}
}
这里,如果 num > 5
为 true
,执行 if
语句块;若为 false
,则执行 else
语句块。
嵌套的 if - else
语句
收起
java
public class NestedIfElseExample {
public static void main(String[] args) {
int num = 15;
if (num > 10) {
if (num < 20) {
System.out.println("数字大于 10 且小于 20");
} else {
System.out.println("数字大于等于 20");
}
} else {
System.out.println("数字小于等于 10");
}
}
}
嵌套 if - else
语句允许在一个 if
或 else
语句块中再使用 if - else
结构,可处理更复杂的条件判断。
if - else if - else
语句
收起
java
public class IfElseIfExample {
public static void main(String[] args) {
int score = 85;
if (score >= 90) {
System.out.println("成绩为 A");
} else if (score >= 80) {
System.out.println("成绩为 B");
} else if (score >= 70) {
System.out.println("成绩为 C");
} else if (score >= 60) {
System.out.println("成绩为 D");
} else {
System.out.println("成绩为 F");
}
}
}
这种结构用于处理多个条件的情况,程序会依次检查每个 else if
条件,一旦某个条件为 true
,就执行对应的语句块,之后的 else if
和 else
不再执行。
2. switch
语句
switch
语句用于基于一个变量或表达式的值来选择执行不同的代码块,适用于对一个变量进行多种固定值判断的场景。
收起
java
public class SwitchExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("无效的日期");
}
}
}
switch
后面括号内的表达式可以是byte
、short
、char
、int
类型,从 Java 7 开始也支持String
类型。case
后面跟的是具体的值,当switch
表达式的值与某个case
的值相等时,就执行该case
后面的代码块。break
语句用于终止switch
语句的执行,若没有break
,程序会继续执行下一个case
的代码块,直到遇到break
或switch
语句结束。default
分支是可选的,当switch
表达式的值与所有case
的值都不匹配时,执行default
后面的代码块。
在 Java 中,分支结构主要用于根据不同的条件来决定执行不同的代码块,常见的三种形式为:单分支结构(if
语句)、双分支结构(if - else
语句)和多分支结构(if - else if - else
语句和 switch
语句),以下为你详细介绍:
1. 单分支结构(if
语句)
单分支结构是最简单的分支结构,它根据一个条件表达式的结果来决定是否执行特定的代码块。如果条件表达式的值为 true
,则执行 if
语句块中的代码;如果为 false
,则跳过该代码块。
语法格式
收起
java
if (条件表达式) {
// 当条件表达式为 true 时执行的代码
}
示例代码
收起
java
public class SingleBranchExample {
public static void main(String[] args) {
int age = 20;
if (age >= 18) {
System.out.println("你已经成年了。");
}
}
}
在上述代码中,当 age
大于或等于 18 时,if
语句块中的代码会被执行,输出 “你已经成年了。”;若 age
小于 18,则不会执行该代码块。
2. 双分支结构(if - else
语句)
双分支结构提供了两种可能的执行路径,根据条件表达式的结果决定执行 if
语句块还是 else
语句块。
语法格式
收起
java
if (条件表达式) {
// 当条件表达式为 true 时执行的代码
} else {
// 当条件表达式为 false 时执行的代码
}
示例代码
收起
java
public class DoubleBranchExample {
public static void main(String[] args) {
int score = 75;
if (score >= 60) {
System.out.println("考试及格了。");
} else {
System.out.println("考试不及格。");
}
}
}
在这个例子中,如果 score
大于或等于 60,会输出 “考试及格了。”;否则,会输出 “考试不及格。”。
3. 多分支结构
多分支结构可以处理多个条件,提供多种执行路径。常见的实现方式有 if - else if - else
语句和 switch
语句。
if - else if - else
语句
- 语法格式
收起
java
if (条件表达式 1) {
// 当条件表达式 1 为 true 时执行的代码
} else if (条件表达式 2) {
// 当条件表达式 1 为 false,且条件表达式 2 为 true 时执行的代码
} else if (条件表达式 3) {
// 当条件表达式 1 和 2 都为 false,且条件表达式 3 为 true 时执行的代码
}
// 可以有更多的 else if 分支
else {
// 当所有条件表达式都为 false 时执行的代码
}
- 示例代码
收起
java
public class MultipleBranchIfExample {
public static void main(String[] args) {
int score = 85;
if (score >= 90) {
System.out.println("成绩等级为 A");
} else if (score >= 80) {
System.out.println("成绩等级为 B");
} else if (score >= 70) {
System.out.println("成绩等级为 C");
} else if (score >= 60) {
System.out.println("成绩等级为 D");
} else {
System.out.println("成绩等级为 F");
}
}
}
在该代码中,程序会依次检查每个条件表达式,一旦某个条件为 true
,就执行对应的代码块,之后的 else if
和 else
不再执行。
switch
语句
- 语法格式
收起
java
switch (表达式) {
case 值 1:
// 当表达式的值等于值 1 时执行的代码
break;
case 值 2:
// 当表达式的值等于值 2 时执行的代码
break;
// 可以有更多的 case 分支
default:
// 当表达式的值与所有 case 的值都不匹配时执行的代码
}
- 示例代码
收起
java
public class MultipleBranchSwitchExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("无效的日期");
}
}
}
switch
语句根据表达式的值来匹配 case
中的值,执行相应的代码块。break
语句用于终止 switch
语句的执行,避免执行后续的 case
代码块。default
分支是可选的,用于处理表达式的值与所有 case
都不匹配的情况。