不是怎么还在转啊...

003-程序流程控制

程序流程控制

  • 程序的三种执行顺序
    • 顺序结构
    • 分支结构
    • 循环结构

分支结构

if

// =============================================
if(条件表达式){
    代码;
}
// =============================================
if(条件表达式){
    代码1;
} else{
    代码2;
}
// =============================================
if(条件表达式1){
    代码1;
} else if(条件表达式2){
    代码2;
} else if(条件表达式3){
    代码3;
}
...
  else{
    代码n;
}  

switch

switch (a) {
    case 1:
        System.out.println("1");
        break;
    case 2:
        System.out.println("2");
        break;
    default:
        System.out.println("default");
        break;
}
  • switch性能比if好些,所以做值匹配问题用switch,做区间判断用if

  • switch表达式类型只能是

    • 基本类型:byte、short、int、char
      引用类型:String(Java 7+)、枚举类型
      包装类(自动拆箱):Byte、Short、Integer、Character
  • case表达式类型只能是

    • 字面量:如 case 1:、case "a":

    • final static 常量:

      public static final int MAX = 10;
      switch (x) {
        case MAX: // 合法(前提是 MAX 是编译期常量)
            // ...
      }
      
  • 不写break;的话会穿透下来

循环结构

for

image-20250710015835110

for (int i = 0; i < 10; i++) {
    System.out.println(i);
    if (i == 5) {
        break;
    } else if (i == 3) {
        continue;
    }
}

while

image-20250710020803342

  • 使用规范:指导循环几次用for,不知道用while

do-while

image-20250710021707730

  • 先执行后判断,一定会执行一次

死循环

image-20250710022059422

  • 服务器或者猜数字会用到死循环

嵌套循环

  • 多层循环嵌套

打印知识点

  • System.out.println();是换行打印
  • System.out.print();是不换行打印

随机数知识点

  • Math.random():返回一个[0, 1)的随机小数

    • (int)(Math.random() * 10):生成一个0到9的数字
  • Random random = new Random();
    int randomNum = random.nextInt(100) + 1; // 0到99,加一1到100
    System.out.println(randomNum);
    
posted @ 2025-07-18 03:08  Quirkygbl  阅读(4)  评论(0)    收藏  举报