前言昨天我们对Java的数据类型和运算符进行了充分讲解,今日我们学习流程控制语句. 今日内容:if else 判断语句switch 选择语句for 循环语句while 循环语句do while 循环语句break,continue 跳出语句概述:在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。判断语句1--if执行流程 
判断语句2--if...else执行流程
判断语句3--if...else if...else执行流程 
语句练习 指定考试成绩,判断学生等级 90-100 优秀 80-89 好 70-79 良 60-69 及格 60以下 不及格(答案见第二条)选择语句--switch执行流程 
case的穿透性在switch语句中,如果匹配上一个case的值,直接向后运行,直到遇到break才结束。
上述程序中,执行case5后,由于没有break语句,程序会一直向后走,不会在判断case,也不会理会break,直接 运行完整体switch。由于case存在穿透性,因此初学者在编写switch语句时,必须要写上break。循环语句1--for执行流程 执行顺序:①②③④>②③④>②③④…②不满足为止。①负责完成循环变量初始化 ②负责判断是否满足循环条件,不满足则跳出循环③具体执行的语句④循环后,循环条件所涉及变量的变化情况
案例代码
循环练习使用循环,打印出 a-z 26个小写字母(答案见第二条)循环语句2--while执行流程
练习while循环计算1-100之间的和(答案见第二条)循环语句3--do...while执行流程
输出10次HelloWorld
do...while循环的特点:无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的 循环具有一定的风险性,因此初学者不建议使用do...while循环。
循环语句的区别for 和 while 的小区别:
continue使用场景:结束本次循环,继续下一次的循环
- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体
- 如果是false就不执行语句体


- 首先判断关系表达式看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就执行语句体2

- 首先判断关系表达式1看其结果是true还是false
- 如果是true就执行语句体1
- 如果是false就继续判断关系表达式2看其结果是true还是false
- 如果是true就执行语句体2
- 如果是false就继续判断关系表达式…看其结果是true还是false
- …
- 如果没有任何关系表达式为true,就执行语句体n+1。


- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。





- 执行顺序:①②③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化。
- ②负责判断是否满足循环条件,不满足则跳出循环。
- ③具体执行的语句。
- ④循环后,循环变量的变化情况。


- 执行顺序:①③④>②③④>②③④…②不满足为止。
- ①负责完成循环变量初始化。
- ②负责判断是否满足循环条件,不满足则跳出循环。
- ③具体执行的语句
- ④循环后,循环变量的变化情况



- 控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继 续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
- 在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。

