java学习笔记(五) - 控制结构
java学习笔记(五) - 控制结构
执笔一、顺序控制
- 程序从上到下逐行的执行,中间没有任何判断和跳转
1. 分支控制
- 让程序有选择的执行
1.1 单分支
1 | if(条件表达式){ |
- 当条件表达式为true,执行代码块中的内容,为false不执行
- 当{}代码块中只有一条语句,{}可以省略
1.2 双分支
1.3 多分支
- 可以没有else语句
1.4 嵌套分支
- 一个分支中完整的嵌套了另外一个完整的分支结构,里面的为内层分支,外面的为外层分支
- 嵌套分支最好不要超过3层
1 | if(){ |
2. Switch
2.1 语法
1 | switch(表达式){ |
- switch关键字,表示switch分支
- 表达式对应一个值
- case常量1:当表达式的值等于常量1,就执行语句块1
- break :表示退出switch语句
- 如果和case常量1匹配,就执行语句块1,如果没有匹配,就继续匹配case常量2
- 如果一个都没有匹配上,执行default
2.2 注意事项
- 表达式数据类型,应和case后的常量类型一致,或者是可以自动转成可以相互比较的类型
- switch(表达式)中表达式的返回值必须是:(byte,short,int,char,enum,String)
- case子句中的值必须是常量,而不能是变量
- default子句是可选的,当没有匹配的case时,执行default
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有写
break,程序会顺序执行到switch结尾(即穿透现象)
2.3 switch和if的比较
- 如果判断的具体数值不多,而且符合byte、 short、int、char、enum[枚举]、String这6种类型建议使用swtich语句
- 其他情况:对区间判断,对结果为boolean类型判断,使用if,if作使用范围更广
二、循环控制
1. for循环
1.1 语法
1 | for(循环变量初始化;循环条件;循环变量迭代){ |
1.2 注意事项
- 循环条件是返回一个布尔值的表达式
- for(循环判断条件;)中的初始化和变量迭代可以写到其它地方,但是两边的分号不能省略
- 循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开,循环变量迭代也可以有多条变量迭代语句,中间用逗号隔开
2. while循环
2.1 语法
1 | 循环变量初始化; |
2.2 注意事项
- 循环条件是返回一个布尔值的表达式
- while循环是先判断再执行语句
3. do while循环
3.1 语法
1 | 循环变量初始化; |
3.2 注意事项
- 循环条件是返回一个布尔值的表达式
- do..while循环是先执行,再判断,因此它至少执行一次
4. 多重循环控制
- 将一个循环放在另一个循环体内,就形成了嵌套循环
- 实质上,嵌套循环就是把内层循环当成外层循环的循环体,当只有内层循环的循环条件为
false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环 - 设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m**n次
1 | for(int i = 0;i <= 9; i++){ |
三、跳转控制语句
1. break
- break语句出现在多重嵌套语句块中,可通过标签指明要终止的是那一层语句块
1 | lable1:{ |
- break语句可以指定退出哪层
- label1是标签,由程序员指定
- break后指定到哪个label就退出到哪里
- 在实际的开发中,尽量不要使用标签
- 如果没有指定break,默认退出最近的循环体
2. continue
- continue语句用于结束本次循环,继续执行下一次循环
- continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环
1 | { |
3. return
- 用在方法,表示退出方法
- 如果用在main方法,表示退出程序
1 | public String test(){ |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果