条件语句
定义
条件语句是Java中用于根据不同的条件执行不同代码块的控制结构,主要包括if-else和switch两种形式。
作用
条件语句在实际开发中具有以下重要价值: 1. 流程控制:根据条件执行不同的业务逻辑 2. 数据验证:对输入数据进行合法性检查 3. 状态判断:处理不同的程序状态 4. 分支处理:实现多分支的业务逻辑 5. 错误处理:进行异常情况的处理
图表说明
IF - ELSE 流程
graph TD
A[开始] --> B{分数 >= 90?}
B -->|是| C[输出: 优秀]
B -->|否| D{分数 >= 80?}
D -->|是| E[输出: 良好]
D -->|否| F{分数 >= 60?}
F -->|是| G[输出: 及格]
F -->|否| H[输出: 不及格]
switch 流程
graph TD
I[开始] --> J{等级值}
J -->|A| K[输出: 优秀]
J -->|B| L[输出: 良好]
J -->|C| M[输出: 及格]
J -->|其他| N[输出: 不及格]
嵌套判断 & 件运算 流程
graph TD
O[开始] --> P{年龄 >= 18?}
P -->|是| Q{是不是学生?}
P -->|否| R[输出: 未成年人]
Q -->|是| S[输出: 成年学生]
Q -->|否| T[输出: 成年人]
U[开始] --> V{a > b?}
V -->|是| W[输出: a]
V -->|否| X[输出: b]
例子
public class ConditionDemo {
public static void main(String[] args) {
// if-else示例
int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
// switch示例
String grade = "B";
switch (grade) {
case "A":
System.out.println("优秀");
break;
case "B":
System.out.println("良好");
break;
case "C":
System.out.println("及格");
break;
default:
System.out.println("不及格");
}
// 嵌套条件示例
int age = 20;
boolean isStudent = true;
if (age >= 18) {
if (isStudent) {
System.out.println("成年学生");
} else {
System.out.println("成年人");
}
} else {
System.out.println("未成年人");
}
// 条件运算符示例
int a = 10, b = 20;
int max = (a > b) ? a : b;
System.out.println("较大值: " + max);
}
}
执行结果
良好
良好
成年学生
较大值: 20
详细说明
-
if-else结构:
- 支持单分支、双分支和多分支
- 条件表达式必须返回布尔值
- 可以嵌套使用
- 执行效率较高
-
switch结构:
- 支持整数、字符、字符串类型
- 每个case后需要break
- 可以包含default分支
- 适合多分支场景
-
条件运算符:
- 三元运算符 ?:
- 简洁的条件判断
- 适合简单的二选一场景
- 可读性较差
推演说明
-
if-else执行流程:
- 计算条件表达式
- 判断条件结果
- 执行对应代码块
- 继续后续代码
-
switch执行流程:
- 计算switch表达式
- 匹配case值
- 执行对应代码块
- 遇到break退出
注意事项
- 条件表达式要避免过于复杂
- 注意if-else的嵌套层次
- switch语句要记得写break
- 合理使用条件运算符
- 注意代码的可读性