5.流程控制语句
- 回顾上章
- 我们学会了数据操作需要的运算符,编程好比写文章,文章的逻辑好比程序中的逻辑,程序中的逻辑是用控制语句完成的
- 什么是流程控制语句
- 控制程序执行顺序的编码结构
- 如果不使用这些编码结构:默认顺序结构即程序执行顺序是从上到下,逻辑上从左到右(有些运算符是从右到左的)
- 分类
- 顺序结构
- 选择结构
- if
- if-else
- switch
- 循环结构
- while
- do-while
- for
- 控制程序执行顺序的编码结构
- 流程控制语句的作用
- 根据程序需要改变默认的程序执行顺序
- 如何使用流程控制语句
-
if
-
语法
-
说明
-
条件成立进行{}中执行里面的内容,反之不进入
-
括号中只能是boolean类型的值(true/false),不像其它编程语句(0是false,非0是true)
-
可以编写在一行中[不建议这样写,代码不优雅]
-
当{}中只有一行代码时,{}可以省略,语意是完整的,如果{}中有多行,此时省略,语意可能不对[建议始终不要省略]
-
-
-
if-else
-
语法
-
说明
- 条件成立进行if后面的{},执行里面的内容,反之执行else里面的内容
- 其它特点同if(条件是boolean类型,可写在一行,当if和else后都只有1行代码时,{}都可省
-
-
switch
-
语法
-
说明
-
if用于连续区间的比较,故条件是boolean类型
-
switch用于确定的值比较,故条件是确定的值类型
- byte,shot,int,long,char,枚举,String(JDK1.7以上才支持)
-
当情况中的值与值表达式相同时执行情况中的代码,遇到break后退出switch语句块,如果所有情况都不满足,有default就执行其中的语句块,没有就退出switch语句块
-
每个case后的值需要和值表达式中的类型相同或能相互转换
-
每个case后的break;可省,省略后,程序进行switch语句块后会执行到第一个break后才跳出switch语句块
-
-
-
循环(重复执行代码)
-
while循环
-
语法
-
说明
- 执行循环操作前都需要判断,当条件成立则执行循环操作
-
-
do-while循环
-
语法
1. -
说明
- 第一次直接执行循环操作,后面是条件成立才执行循环操作
-
-
for循环
-
语法
-
说明
-
-
总结:
- 循环都有的4特征:循环条件的初始化;循环条件;循环操作,循环的迭代
- 使用循环,一定要避免出现死循环(浪费系统性能)
-
-
其它控制符:继续(continue);跳出(break);中止(return)
-
continue
- 只能用于循环语句中:表示继续下次循环(提前让本次循环结束,程序执行到循环迭代处)
- 只能用于循环语句中:表示继续下次循环(提前让本次循环结束,程序执行到循环迭代处)
-
break
- 只能用于switch或循环语句中:表示退出当前switch语句块或退出当前循环
- 只能用于switch或循环语句中:表示退出当前switch语句块或退出当前循环
-
return
- 结束程序调用或返回值(一般用于方法中,根据需要返回相应的值)
- 单用:结束本程序调用返回调用处
- return + 值:结束本程序的调用并返回值
- 结束程序调用或返回值(一般用于方法中,根据需要返回相应的值)
-
-
补充
- System.exit(int status);此方法是退出JVM,而非return回到上一层
- 不管status是何数,JVM都将关闭
- 参数是0表示正常退出,非0表示异常退出
- System.exit(int status);此方法是退出JVM,而非return回到上一层
-
- 说明
- 流程控制语句中所有结构可以相互组合嵌套,以完成复杂的功能需求