image.png

1. 选择语句

选择语句又称为分支语句,它通过对给定的条件进行判断,从而决定执行两个或多个分支中的哪一支

1.1 if语句

if语句四种方式

  1. if(布尔表达式){
  2. java语句
  3. }
  4. if(布尔表达式){
  5. }else{
  6. java语句
  7. }
  8. if(布尔表达式){
  9. }else if(布尔表达式){
  10. java语句
  11. }else if(布尔表达式){
  12. java语句
  13. }
  14. if(布尔表达式){
  15. }else if(布尔表达式){
  16. java语句
  17. }else if(布尔表达式){
  18. java语句
  19. }else{
  20. }

当分支中只有一条 java 语句话,大括号可以省略不写


1.2 switch

Java基础——控制语句 - 图2
注意:

  1. 在JDK1.7之后(包括1.7),switch 语句除了支持int 类型之外,还支持 String 类型
  2. byte、shout、char类型也可以放在小括号中,因为这些类型的数据可以进行自动类型转换
  3. 如果当前分支中没有“break;”语句,则会发生 case 穿透现象,也就是说下一个分支也不再进行匹配,直接进入下一个分支执行,直到遇到“break;为止。
  4. switch语句中的case是可以进行合并的。

2.循环语句

具有规律性的重复操作 一组被重复执行的语句称之为循环体,能否继续重复,取决于循环的终止条件。

2.1for

Java基础——控制语句 - 图3
初始化表达式最先执行,并且在整个循环当中初始化表达式只执行一次,布尔表达式结果是 true 或者 false, true 表示循环可以继续执行, false 表示循环结束,循环体当中的代码就是需要反复执行的代码,更新表达式一般是用来更新某个变量的值。
注意:

  1. 对于for循环,初始化表达式、布尔表达式、更新表达式都不是必须的,当布尔表达式缺失的时候,没有条件控制的前提下,会形成死循环 。
  2. 对于for循环的初始化变量的作用域,在 for 循环当中声明的变量只在for 循环中有效,当 for 循环结束之后,初始化变量的内存就释放了/消失了,所以在 for 循环之外是无法访问该变量。

关于循环的嵌套
对于for循环嵌套,在分析外层循环的时候可以将内部循当做一段普普通通的Java代码即可,在分析内部循环的时候可以将外部的循环视为不存在,单独分析。
九九乘法表

  1. for(int i=1;i<=9;i++)
  2. {
  3. for(int j=1;j<=i;j++)
  4. {
  5. System.out.print(j+"*"+i+"="+j*i+"\t");
  6. }
  7. System.out.println();
  8. }

2.2while

Java基础——控制语句 - 图4
先判断布尔表达式的结果,如果是 true,则执行循环体,循环体结束之后,再次判断布尔表达式的结果,如果是 true,再执行循环体,循环体结束之后,再判断布尔表达式的结果,直到结果为 false 的时候, while 循环结束。
注意:while 循环的计数器对应的变量声明在 while 循环外面,扩大了该变量的作用域。

2.3do……while

do..while 循环是 while 循环的变形,它们的区别在于 do..while 循环可以保证循环体执行次数至少为 1 次,也就是说 do..while 循环的循环体执行次数是 1~N 次,而 while 循环的循环体执行次数为 0~N 次。


Java基础——控制语句 - 图5

3.转向语句

转向语句用于实现循环执行过程中程序流程的跳转

3.1 break

  1. break翻译为折断,break用在switch和循环语句当中

    3.2continue

  2. continue翻译为继续,终止当前循环,直接进入下一次循环