:::info 💡 根据 遗忘曲线:如果没有记录和回顾,6天后便会忘记75%的内容
读书笔记正是帮助你记录和回顾的工具,不必拘泥于形式,其核心是:记录、翻看、思考 :::

流程控制语句概览

在默认程序中是顺序结构,从上往下依次执行;用思维导图,结构化核心概念。

流程控制----分支语句 - 图1

分支语句

if语句(判断条件最终必须为:布尔类型值)

1 简单if语句格式:

语句格式: if (判断条件){ 语句体; //判断条件成立执行语句体; }

  1. int nub1 = 1;
  2. int nub2 = 2;
  3. if(nub1>nub2){
  4. System.out.println("执行了语句体"); //判断条件为false,此语句不执行;
  5. }

2 if…else语句格式

语句格式: if (判断条件){
语句体1; //判断条件成立执行语句体1; }else{ 语句体2; //判断条件不成立执行语句体2; }

  1. int nub1 = 1;
  2. int nub2 = 2;
  3. if(nub1>nub2){
  4. System.out.println("执行了语句体1"); //判断条件为false,此语句不执行体;
  5. }else{
  6. System.out.println("执行了语句体2"); //判断条件为false,执行此语句体;
  7. }

3 if…else if…else…语句格式

语句格式: if (判断条件1){
语句体1; //判断条件成立执行语句体1; }else if(判断条件2){ 语句体2; //判断条件1不成立,判断条件2成立,执行语句体2; }else{ 语句体3; //判断条件1和2都不成立执行语句体3; }

  1. /*
  2. 考试奖励:
  3. 分数>=90:奖励自行车一辆
  4. 90>分数>=80:奖励游乐园一日游
  5. 80>分数:一顿狂揍
  6. */
  7. public class IfTest {
  8. public static void main(String[] args) {
  9. int chengji;
  10. Scanner sc = new Scanner(System.in);
  11. System.out.println("请输入成绩:");
  12. chengji = sc.nextInt();
  13. if (chengji <=100 && chengji>=0){
  14. if (chengji>=90){
  15. System.out.println("恭喜!奖励自行车一辆!");
  16. }else if (chengji>=80 && chengji<90){
  17. System.out.println("恭喜!奖励游乐园一日游!");
  18. }else{
  19. System.out.println("来吧一顿接受狂揍!");
  20. }
  21. }else{
  22. System.out.println("成绩输入有误!");
  23. }
  24. }
  25. }


switch语句

switch语句格式: switch(week){ case 1: 语句体1; break; case 2: 语句体2; break; case 3: 语句体3; break; . . . default: 默认值语句体; break;

}

1 注意事项:week的取值范围
  • 基本类型:byte、short、int、long
  • 引用类型:jdk5开始,允许枚举类型;jdk7开始,允许String
  • jdk14开始允许,一个case 后跟多个值:case 1,2,3:
  • if与switch选用:范围性的判断用if更合理;switch更适合固定值判断;
    1. switch(week){
    2. case 1:
    3. // 语句体1;
    4. break;
    5. case 2:
    6. // 语句体2;
    7. break;
    8. case 3:
    9. // 语句体3;
    10. break;
    11. default:
    12. // 默认语句体;
    13. break;
    14. }
    2 case穿透(可以优化代码)

    case穿透示例:如果有多个重复的语句体可以使用case穿透

  1. switch(week){
  2. case 1:
  3. case 2:
  4. case 3:
  5. //重复语句体;
  6. break;
  7. default:
  8. break;
  9. }

3 jdk14以后新特性(可以优化代码)

case穿透示例:如果有多个重复的语句体可以使用case穿透

  1. switch(week){
  2. case 1,2,3:
  3. //重复语句体;
  4. break;
  5. default:
  6. break;
  7. }