1. 流程控制

2. 顺序结构

没有特定的语法结构,按照代码的编写顺序依次执行

3. if语句

格式:

  1. if(关系表达式){
  2. 语句体;
  3. }

关系表达式值为true就执行语句体

关系表达式值为false就不执行语句体,继续执行if语句后的语句

if 语句格式2

  1. if(关系表达式){
  2. 语句体;
  3. } else {
  4. 语句体2;
  5. }

关系表达式值为true就执行语句体1

关系表达式值为false就执行语句体2

if 语句格式3

  1. if(关系表达式1){
  2. 语句体1;
  3. } else if (关系表达式2){
  4. 语句体2;
  5. } ··· // 可有多个else if
  6. else{
  7. 语句体n
  8. }

首先计算关系表达式1的值

如为true则执行语句体1,如为false则判断关系表达式2,直到elseif全为false才执行else中的语句体

4. switch语句

格式:

  1. switch(表达式){
  2. case 1:
  3. 语句体1
  4. break
  5. case 2:
  6. 语句体1
  7. break
  8. case n:
  9. 语句体n
  10. break
  11. default:
  12. 语句体n+1;
  13. [break];
  14. }

表达式:取值为byte、short、int、char,jdk5以后可以是枚举,jdk7以后可以是String。

case:后面跟的是要和表达式进行比较的值

break:表示中断/结束,用来结束switch语句

default:表示所有case都不匹配的时候执行该内容,跟else差不多

4.1. case穿透

如果case的语句体后面不写break,将会出现穿透现象,在不判断下一个case值的情况下,继续往 下执行直到遇到break或者switc语句结束

如:

  1. switch (n){
  2. case 1:
  3. case 2:
  4. case 3:
  5. System.out.println("123");
  6. break;
  7. }

如果case1成立则往下执行case2、case3里的语句体然后break结束