1. 控制流程语句概述
Java 程序的执行流程分为三种结构:顺序结构、选择结构、循环结构。
2. 顺序结构
- 2.1.1 定义:代码从上到下、从左往右依次执行,是最基本的执行方式,无需任何关键字控制
3. 选择结构
3.1 if 语句(三种形式)
- 3.1.1 单分支:条件成立才执行语句体
if (布尔表达式) {
语句体;
}- 3.1.2 双分支:条件成立走语句体1,否则走语句体2
if (布尔表达式) {
语句体1;
} else {
语句体2;
}- 3.1.3 多分支:依次判断,匹配第一个成立的条件,都不满足则走
else
if (布尔表达式1) {
语句体1;
} else if (布尔表达式2) {
语句体2;
} else {
语句体n;
}- 3.1.4 示例——成绩判断:
int fen = 150;
if (fen == 100) {
System.out.println("爬泰山");
} else if (90 <= fen && fen < 100) {
System.out.println("大疆遥控飞机");
} else if (60 <= fen && fen < 90) {
System.out.println("不奖不罚");
} else if (60 > fen && fen >= 0) {
System.out.println("混合双打,外加五三一套");
} else {
System.out.println("分数不在正确范围之内,请检查");
}3.2 switch 语句
- 3.2.1 格式:
switch (变量) {
case 常量值:
语句体;
break;
default:
语句体;
break;
}- 3.2.2 支持的数据类型:
byte、short、int、char、String、枚举 - 3.2.3 注意事项:
case后面必须跟常量,不能是变量()内变量类型与case后常量类型必须一致- 每个
case语句体后都应加break,防止穿透(fall-through)执行下一个 case - 最后一个
case或default的break可省略,因为下面没有代码 default相当于if-else中的else,可放在任意位置
- 3.2.4 示例:
switch ("") {
default:
System.out.println("你的钥匙用完了,请重新获取");
break;
case "1":
System.out.println("打开一号箱子,里面空空如也");
break;
case "":
System.out.println("二号箱子,里面有10个铜板");
break;
case "3":
System.out.println("恭喜你中奖了,领奖地址在阿富汗");
break;
case "4":
System.out.println("发现一只宝箱怪");
break;
}4. 示例代码
package com.itszt.day02;
public class Demo02 {
public static void main(String[] args) {
// 顺序结构:从上到下,从左往右
System.out.println("敌军还有30秒抵达战场,碾碎他们");
System.out.println("稳住,我们能赢");
System.out.println("黑屏GG");
// if 双分支
int day = 4;
if (day == 4) {
System.out.println("肯德基疯狂星期四");
} else {
System.out.println("卡斯丁疯狂星期三");
}
// if 多分支
int fen = 150;
if (fen == 100) {
System.out.println("爬泰山");
} else if (90 <= fen && fen < 100) {
System.out.println("大疆遥控飞机");
} else if (60 <= fen && fen < 90) {
System.out.println("不奖不罚");
} else if (60 > fen && fen >= 0) {
System.out.println("混合双打,外加五三一套");
} else {
System.out.println("分数不在正确范围之内,请检查");
}
// switch 语句
switch ("") {
default:
System.out.println("你的钥匙用完了,请重新获取");
break;
case "1":
System.out.println("打开一号箱子,里面空空如也");
break;
case "":
System.out.println("二号箱子,里面有10个铜板");
break;
case "3":
System.out.println("恭喜你中奖了,领奖地址在阿富汗");
break;
case "4":
System.out.println("发现一只宝箱怪");
break;
}
}
}5. 总结
| 结构 | 关键字 | 适用场景 |
|---|---|---|
| 顺序结构 | 无 | 默认执行方式 |
| if 单分支 | if | 满足条件才执行 |
| if 双分支 | if / else | 二选一 |
| if 多分支 | if / else if / else | 多区间判断 |
| switch | switch / case / break / default | 固定值匹配,类型有限制 |