1. 控制流程语句概述

Java 程序的执行流程分为三种结构:顺序结构、选择结构、循环结构

2. 顺序结构

  • 2.1.1 定义:代码从上到下、从左往右依次执行,是最基本的执行方式,无需任何关键字控制

3. 选择结构

3.1 if 语句(三种形式)

  • 3.1.1 单分支:条件成立才执行语句体
  if (布尔表达式) {
      语句体;
  }
  • 3.1.2 双分支:条件成立走语句体1,否则走语句体2
  if (布尔表达式) {
      语句体1;
  } else {
      语句体2;
  }
  • 3.1.3 多分支:依次判断,匹配第一个成立的条件,都不满足则走 else
  if (布尔表达式1) {
      语句体1;
  } else if (布尔表达式2) {
      语句体2;
  } else {
      语句体n;
  }
  • 3.1.4 示例——成绩判断
  int fen = 150;
  if (fen == 100) {
      System.out.println("爬泰山");
  } else if (90 <= fen && fen < 100) {
      System.out.println("大疆遥控飞机");
  } else if (60 <= fen && fen < 90) {
      System.out.println("不奖不罚");
  } else if (60 > fen && fen >= 0) {
      System.out.println("混合双打,外加五三一套");
  } else {
      System.out.println("分数不在正确范围之内,请检查");
  }

3.2 switch 语句

  • 3.2.1 格式
  switch (变量) {
      case 常量值:
          语句体;
          break;
      default:
          语句体;
          break;
  }
  • 3.2.2 支持的数据类型byteshortintcharString、枚举
  • 3.2.3 注意事项
    • case 后面必须跟常量,不能是变量
    • () 内变量类型与 case 后常量类型必须一致
    • 每个 case 语句体后都应加 break,防止穿透(fall-through)执行下一个 case
    • 最后一个 casedefaultbreak 可省略,因为下面没有代码
    • default 相当于 if-else 中的 else,可放在任意位置
  • 3.2.4 示例
  switch ("") {
      default:
          System.out.println("你的钥匙用完了,请重新获取");
          break;
      case "1":
          System.out.println("打开一号箱子,里面空空如也");
          break;
      case "":
          System.out.println("二号箱子,里面有10个铜板");
          break;
      case "3":
          System.out.println("恭喜你中奖了,领奖地址在阿富汗");
          break;
      case "4":
          System.out.println("发现一只宝箱怪");
          break;
  }

4. 示例代码

package com.itszt.day02;
public class Demo02 {
    public static void main(String[] args) {
        // 顺序结构:从上到下,从左往右
        System.out.println("敌军还有30秒抵达战场,碾碎他们");
        System.out.println("稳住,我们能赢");
        System.out.println("黑屏GG");
 
        // if 双分支
        int day = 4;
        if (day == 4) {
            System.out.println("肯德基疯狂星期四");
        } else {
            System.out.println("卡斯丁疯狂星期三");
        }
 
        // if 多分支
        int fen = 150;
        if (fen == 100) {
            System.out.println("爬泰山");
        } else if (90 <= fen && fen < 100) {
            System.out.println("大疆遥控飞机");
        } else if (60 <= fen && fen < 90) {
            System.out.println("不奖不罚");
        } else if (60 > fen && fen >= 0) {
            System.out.println("混合双打,外加五三一套");
        } else {
            System.out.println("分数不在正确范围之内,请检查");
        }
 
        // switch 语句
        switch ("") {
            default:
                System.out.println("你的钥匙用完了,请重新获取");
                break;
            case "1":
                System.out.println("打开一号箱子,里面空空如也");
                break;
            case "":
                System.out.println("二号箱子,里面有10个铜板");
                break;
            case "3":
                System.out.println("恭喜你中奖了,领奖地址在阿富汗");
                break;
            case "4":
                System.out.println("发现一只宝箱怪");
                break;
        }
    }
}

5. 总结

结构关键字适用场景
顺序结构默认执行方式
if 单分支if满足条件才执行
if 双分支if / else二选一
if 多分支if / else if / else多区间判断
switchswitch / case / break / default固定值匹配,类型有限制