一、顺序结构

默认结构,从前往后执行

二、分支结构

2.1 if:
格式一:if( 条件表达式 ){
语句体;
}
格式二:if( 条件表达式 ){
语句体1;
} else {
语句体2;
}
格式三:if( 条件表达式 ){
语句体1;
} else if( 条件表达式 ){
语句体2;
}else if( 条件表达式 ){
语句体3;
}

else {
语句体n+1;
}

2.2 switch分支:
switch分支也是匹配条件执行分支,适合做值匹配的分支选择,结构清晰,格式良好
格式:
switch(表达式){ 执行流程:
case 值1: 1.先执行表达式中的值,与case中的值匹配
执行代码….; 2.匹配到那个case执行哪个case,遇到break跳出switch分支
break/; 3.与所有case不匹配执行default
case 值2:
执行代码….;
break;
….
case 值n:
执行代码….;
break;
default:
执行代码;
}
image.png

  1. package edu.dhu.swtichdemo;
  2. public class switchdemo {
  3. public static void main(String[] args) {
  4. String date="周一";
  5. switch(date){
  6. case "周一":
  7. System.out.println("埋头苦干,解决bug");
  8. break;
  9. case "周二":
  10. System.out.println("...");
  11. break;
  12. case "周三":
  13. System.out.println("...");
  14. break;
  15. case "周四":
  16. System.out.println("...");
  17. break;
  18. case "周五":
  19. System.out.println("...");
  20. break;
  21. case "周六":
  22. System.out.println("...");
  23. break;
  24. case "周日":
  25. System.out.println("...");
  26. break;
  27. default:
  28. System.out.println("输入数据有误");
  29. }
  30. }
  31. }

2.3 if和switch的适用场景
if适合做区间匹配
switch适合做值匹配
2.4 switch分支的注意事项
1.表达式类型只能是byte,short,int,char,枚举,String这六种,不支持double,float,long
浮点型计算并不精确不适合switch分支,long范围太大没有必要
2.case的值不允许重复,并且只能是字面量不能是变量
3.不能忘记写break,否则会出现穿透现象
2.5 switch的穿透性
如果代码执行到没有写break的case块,执行完后会直接进入下一个case块(不会有任何匹配),直到遇到break结束
因此如果存在多个case分支的功能代码是一样的时候,可以用穿透性把流程集中到同一个中处理,以此来简化代码
image.png

package edu.dhu.swtichdemo;

public class switchdemo {
    public static void main(String[] args) {
        int  month=7;
        switch(month){
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                System.out.println(month + "月有31天");
                break;
            case 2 :
                System.out.println("有时候"+month + "月有28天"+"有时候"+month + "月有29天");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                System.out.println(month + "月有30天");
                break;
            default:
                System.out.println("输入数据有误");
        }
    }
}

三、循环结构

3.1 for循环
image.png
3.2 while循环
image.png
什么时候用for什么时候用while:
知道循环的次数用for不然用while

3.3 do..while循环(一定会执行一次循环体)image.png
3.4 死循环和break,continue
死循环一般用于服务器

image.png