Java基础(五):流程控制语句
Java基础(五):流程控制语句
Java基础系列文章
Java基础(一):语言概述 | Java基础(二):原码、反码、补码及进制之间的运算 | Java基础(三):数据类型与进制 | Java基础(四):逻辑运算符和位运算符 |
---|---|---|---|
Java基础(五):流程控制语句 | Java基础(六):数组 | Java基础(七):面向对象编程 | Java基础(八):封装、继承、多态性 |
Java基础(九):Object 类的使用 | Java基础(十):关键字static、代码块、关键字final | Java基础(十一):抽象类、接口、内部类 | Java基础(十二):枚举类 |
Java基础(十三):注解(Annotation) | Java基础(十四):包装类 | Java基础(十五):异常处理 | Java基础(十六):String的常用API |
Java基础(十七):日期时间API | Java基础(十八):java比较器、系统相关类、数学相关类 | Java基础(十九):集合框架 | Java基础(二十):泛型 |
Java基础(二十一):集合源码 | Java基础(二十二):File类与IO流 | Java基础(二十三):反射机制 | Java基础(二十四):网络编程 |
Java基础(二十五):Lambda表达式、方法引用、构造器引用 | Java基础(二十六):Java8 Stream流及Optional类 |
基本语法
语法格式:
代码语言:javascript代码运行次数:0运行复制switch(表达式){
case 常量值1:
语句块1;
//break;
case 常量值2:
语句块2;
//break;
// ...
[default:
语句块n+1;
break;
]
}
执行流程图:
执行过程:
- 第1步:根据switch中表达式的值,依次匹配各个case
- 如果表达式的值等于某个case中的常量值,则执行对应case中的执行语句
- 第2步:执行完此case的执行语句以后
- 情况1:如果遇到break,则执行break并跳出当前的switch-case结构
- 情况2:如果没有遇到break,则会继续执行当前case之后的其它case中的执行语句。—>
case穿透
- …
- 直到遇到break关键字或执行完所有的case及default的执行语句,跳出当前的switch-case结构
使用注意点:
- switch(表达式)中表达式的值必须是下述几种类型之一:
byte
short
char
int
枚举 (jdk 5.0)
String (jdk 7.0)
- case子句中的值必须是常量,不能是变量名或不确定的表达式值或范围
- 同一个switch语句,所有case子句中的常量值互不相同
- break语句用来在执行完一个case分支后使程序跳出switch语句块 如果没有break,程序会顺序执行到switch结尾
- default子句是可选的。同时,位置也是灵活的 当没有匹配的case时,执行default语句
- 循环结构分类:
- for 循环
- while 循环
- do-while 循环
- 循环结构
四要素
:- 初始化部分
- 循环条件部分
- 循环体部分
- 迭代部分
1、for循环
语法格式:
代码语言:javascript代码运行次数:0运行复制for (①初始化部分; ②循环条件部分; ④迭代部分){
③循环体部分;
}
执行过程: ①-②-③-④-②-③-④-②-③-④-…-②
说明:
- for(;;)中的两个;不能多也不能少
- ①初始化部分可以声明多个变量,但必须是同一个类型,用逗号分隔
- ②循环条件部分为boolean类型表达式,当值为false时,退出循环
- ④可以有多个变量更新,用逗号分隔
- 无限循环格式:
for(;;)
格式的多样性
代码语言:javascript代码运行次数:0运行复制public class ForTest2 {
public static void main(String[] args) {
int num = 1;
for(print("a");num < ;print("c"),num++){
print("b");
}
}
}
2、while循环
语法格式:
代码语言:javascript代码运行次数:0运行复制①初始化部分
while(②循环条件部分){
③循环体部分;
④迭代部分;
}
执行过程: ①-②-③-④-②-③-④-②-③-④-…-②
说明:
- while(循环条件)中循环条件必须是boolean类型
- 注意不要忘记声明④迭代部分。否则,循环将不能结束,变成死循环
- for循环和while循环可以相互转换。二者没有性能上的差别。实际开发中,根据具体结构的情况,选择哪个格式更合适、美观
- for循环与while循环的区别:初始化条件部分的作用域不同
- 没有明显的循环次数(范围)的需求,选择while循环
- 无限循环格式:
while(true)
、do-while循环
语法格式:
代码语言:javascript代码运行次数:0运行复制①初始化部分;
do{
③循环体部分
④迭代部分
}while(②循环条件部分);
执行过程: ①-③-④-②-③-④-②-③-④-…-②
说明:
- 结尾while(循环条件)中循环条件必须是boolean类型
- do{}while();最后有一个分号
- do-while结构的循环体语句是
至少
会执行一次,这个和for和while是不一样的 - 循环的三个结构for、while、do-while三者是可以相互转换的
4、关键字break和continue的使用
- break:一旦执行,就结束(或跳出)
当前
循环结构 - continue:一旦执行,就结束(或跳出)
当次
循环结构
class BreakContinueTest1 {
public static void main(String[] args) {
for(int i = 1;i <= 10;i++){
if(i % 4 == 0){
//break;//12
continue;//12567910
//如下的语句不可能被执行,编译不通过
//println("今晚迪丽热巴要约我吃饭");
}
print(i);
}
println("####");
//嵌套循环中的使用
for(int i = 1;i <= 4;i++){
for(int j = 1;j <= 10;j++){
if(j % 4 == 0){
//break; //结束的是包裹break关键字的最近的一层循环!
continue;//结束的是包裹break关键字的最近的一层循环的当次!
}
print(j);
}
println();
}
}
}
代码语言:javascript代码运行次数:0运行复制带标签的使用
break语句用于终止某个语句块的执行
{ ……
break;
……
}
break语句出现在多层嵌套的语句块中时,可以通过标签指明要终止的是哪一层语句块
label1: { ……
label2: { ……
label: { ……
break label2;
……
}
}
}
- continue语句出现在多层嵌套的循环语句体中时,也可以通过标签指明要跳过的是哪一层循环
- 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面
class BreakContinueTest2 {
public static void main(String[] args) {
l:for(int i = 1;i <= 4;i++){
for(int j = 1;j <= 10;j++){
if(j % 4 == 0){
//break l;
continue l;
}
print(j);
}
println();
}
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-02-24,如有侵权请联系 cloudcommunity@tencent 删除javabreakcase基础语法 #感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 7 条评论) |
本站网友 名医好药网 | 22分钟前 发表 |
do-while三者是可以相互转换的4 | |
本站网友 的撒打算 | 15分钟前 发表 |
可以通过标签指明要终止的是哪一层语句块 label1 | |
本站网友 汉口银行网上银行 | 21分钟前 发表 |
选择while循环无限循环格式:while(true) | |
本站网友 少儿舞蹈培训班 | 21分钟前 发表 |
执行default语句二 | |
本站网友 凡客诚品官网 | 25分钟前 发表 |
构造器引用Java基础(二十六):Java8 Stream流及Optional类一 | |
本站网友 csdn账号 | 17分钟前 发表 |
可以通过标签指明要终止的是哪一层语句块 label1 |