Java程序控制_8
条件控制
条件控制语句根据条件的真假来决定程序的执行路径。
- 单分支if语句
if (条件) {
// 条件为 true 时执行的代码
}
//其他代码
- 双分支if-else 语句
if (条件) {
// 条件为 true 时执行的代码
} else {
// 条件为 false 时执行的代码
}
//其他代码
- 多分支if-else if-else 语句
if (条件1) {
// 条件1为 true 时执行的代码
} else if (条件2) {
// 条件2为 true 时执行的代码
} else {
// 所有条件为 false 时执行的代码
}
//其他代码
- 多分支switch语句
switch (表达式) {
case 值1:
// 表达式等于值1时执行的代码
break;//表示退出switch语句
case 值2:
// 表达式等于值2时执行的代码
break;
default:
// 表达式不匹配任何 case 时执行的代码
}
switch注意点 |
---|
switch穿透:如果遇到 break ,则退出 switch 语句;否则不会继续判断条件,直接执行后续的 case 代码块 |
表达式的类型可以是 byte、short、int、char、String(Java 7+)或枚举类型。 |
switch 表达式不能是 long、float、double 或 boolean 类型 |
case 值的类型必须与 switch 表达式的类型一致,或者可以自动转换的值 |
每个 case 的值必须是常量并且是唯一的,不能重复 |
default 可以放在 switch 语句的任何位置,但通常放在最后,放在中间需要加上break语句 |
循环语句
循环控制语句用于重复执行某段代码,直到满足特定条件
- for 循环
for (初始化; 条件; 更新) {
// 循环体
}
初始化:在循环开始前执行一次,通常用于初始化循环变量。
条件:每次循环开始前检查条件,如果为 true,则执行循环体;否则退出循环
更新:每次循环结束后执行,通常用于更新循环变量
其中初始化和更新可以写多条语句,用逗号隔开,也可以在其他地方生命,不过分号需要保留
- while循环
while 循环用于在条件为 true 时重复执行代码
while (条件) {
// 循环体
}
条件:每次循环开始前检查条件,如果为 true,则执行循环体;否则退出循环
- do-while 循环
do-while 循环与 while 循环类似,但它的循环体至少会执行一次,然后再检查条件
do {
// 循环体
} while (条件);
- 增强for循环
增强 for 循环用于遍历数组或集合中的元素
for (数据类型 变量 : 数组或集合) {
// 循环体
}
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.println("num = " + num);
}
循环控制语句
在循环中,可以使用以下控制语句来改变循环的执行流程
- break
用于立即退出当前循环
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // 当 i 等于 5 时退出循环
}
System.out.println("i = " + i);
}
- continue
用于跳过当前循环的剩余部分,直接进入下一次循环
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数
}
System.out.println("i = " + i);
}
- return
用于从方法中返回值并退出方法
public void printNumbers() {
for (int i = 0; i < 10; i++) {
if (i == 5) {
return; // 当 i 等于 5 时退出方法
}
System.out.println("i = " + i);
}
}
循环相关知识点 |
---|
在 for 循环中定义的变量,其作用域仅限于循环体内 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?