【JAVA基础指南(二)】快速掌握流程控制

🎬 博主名称: 超级苦力怕

🔥 个人专栏: 《Java 成长录》 《AI 工具使用目录》

🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!


前言

本文主要内容:讲清 Java 里的条件判断(if/switch)与循环(for/while/do-while),并掌握 break/continue 的用法。

适合人群:刚学完变量、运算符,准备写出"能跑起来的小程序"的零基础同学。

阅读收益:看完你能独立写出常见的判断与循环,并避免新手最容易写错的语法。

条件控制语句目录

    • 前言
    • [1. 条件判断语句](#1. 条件判断语句)
      • [1.1 if / else / else if](#1.1 if / else / else if)
      • [1.2 switch](#1.2 switch)
    • [2. 循环语句](#2. 循环语句)
      • [2.1 for](#2.1 for)
      • [2.2 while](#2.2 while)
      • [2.3 do...while](#2.3 do...while)
    • [3. 条件控制语句](#3. 条件控制语句)
      • [3.1 break](#3.1 break)
      • [3.2 continue](#3.2 continue)
      • [3.3 无限循环](#3.3 无限循环)
    • [4. 拓展:Random 随机数](#4. 拓展:Random 随机数)
    • 结语

1. 条件判断语句

1.1 if / else / else if

当你需要"根据条件决定做哪件事"时,就用 if

  • 条件为 true 才会进入对应分支
  • 多个条件从上到下判断,先匹配到的先执行

书写格式

java 复制代码
if (条件1) {
    // 条件1成立
} else if (条件2) {
    // 条件2成立
} else {
    // 以上都不成立
}

案例:成绩等级(含合法性判断)

java 复制代码
import java.util.Scanner;

public class Demo01IfElseIf {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入分数:");
        int score = sc.nextInt();

        if (score < 0 || score > 100) {
            System.out.println("分数不合法");
        } else if (score >= 90) {
            System.out.println("A");
        } else if (score >= 80) {
            System.out.println("B");
        } else if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("不及格");
        }
    }
}

1.2 switch

固定格式,使用场景不多,了解即可

当你手里只有一个变量,并且它只会落在"几个固定值"里(例如 1~7、菜单选项),可以用 switch

  • 常见写法:每个 case 后都写 break,避免穿透

书写格式

java 复制代码
switch (变量) {
    case 值1:
        // ...
        break;
    case 值2:
        // ...
        break;
    default:
        // 兜底
}

案例:输入 1~7 输出"周几"

java 复制代码
import java.util.Scanner;

public class Demo02Switch {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入 1~7:");
        int day = sc.nextInt();

        switch (day) {
            case 1:
                System.out.println("周一");
                break;
            case 2:
                System.out.println("周二");
                break;
            case 3:
                System.out.println("周三");
                break;
            case 4:
                System.out.println("周四");
                break;
            case 5:
                System.out.println("周五");
                break;
            case 6:
                System.out.println("周六");
                break;
            case 7:
                System.out.println("周日");
                break;
            default:
                System.out.println("输入不合法");
        }
    }
}

2. 循环语句

2.1 for

当你知道循环要执行多少次(或范围很明确,比如 1~100),优先用 for

  • 最常见的用法:用 i 当计数器

书写格式

java 复制代码
for (int i = 起始值; i <= 结束值; i++) {
    // 循环体
}

案例:计算 1~100 的和

java 复制代码
public class Demo03ForSum {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        System.out.println("sum=" + sum);
    }
}

2.2 while

当你不确定要循环多少次,但你知道"什么时候该停"(比如:输入合法了就停),用 while

  • 重点:循环体里要让条件发生变化,否则容易死循环

书写格式

java 复制代码
初始化;
while (条件) {
    // 循环体
    更新;
}

案例:一直输入,直到输入正整数

java 复制代码
import java.util.Scanner;

public class Demo04WhileInput {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个正整数:");
        int num = sc.nextInt();

        while (num <= 0) {
            System.out.println("输入不合法,请重新输入正整数:");
            num = sc.nextInt();
        }

        System.out.println("你输入的是:" + num);
    }
}

2.3 do...while

使用场景较少,了解即可

do...whilewhile 很像,但它会先执行一次再判断条件,所以"至少执行 1 次"。

书写格式

java 复制代码
do {
    // 循环体
} while (条件);

案例:至少输入一次密码(正确才结束)

java 复制代码
import java.util.Scanner;

public class Demo05DoWhilePassword {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String pwd;

        do {
            System.out.println("请输入密码:");
            pwd = sc.next();
        } while (!pwd.equals("123456"));

        System.out.println("登录成功");
    }
}

3. 条件控制语句

3.1 break

break 可以让你在循环还没跑完时,直接"提前退出"。

  • 常见场景:找到目标就结束,不用继续浪费时间

书写格式

java 复制代码
for (...) {
    if (条件) {
        break;
    }
}

案例:找到第一个能被 7 整除的数

java 复制代码
public class Demo06Break {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            if (i % 7 == 0) {
                System.out.println("第一个能被 7 整除的数:" + i);
                break;
            }
        }
    }
}

3.2 continue

continue 的意思是:本轮循环"后面的代码别执行了",直接进入下一轮。

  • 常见场景:过滤掉不需要处理的数据(比如跳过某些数字)

书写格式

java 复制代码
for (...) {
    if (条件) {
        continue;
    }
    // 本轮真正要执行的逻辑
}

案例:打印 1~20,跳过 3 的倍数

java 复制代码
public class Demo07Continue {
    public static void main(String[] args) {
        for (int i = 1; i <= 20; i++) {
            if (i % 3 == 0) {
                continue;
            }
            System.out.println(i);
        }
    }
}

3.3 无限循环

无限循环就是"循环条件永远为真",程序会一直跑下去。

  • 常见写法:while(true)for(;;)
  • 一般要配合 break(满足退出条件时跳出),否则程序不会结束

书写格式

java 复制代码
while (true) {
    // 循环体
    if (退出条件) {
        break;
    }
}

for (;;) {
    // 循环体
    if (退出条件) {
        break;
    }
}

案例:不断输入数字,输入 0 结束

java 复制代码
import java.util.Scanner;

public class Demo08InfiniteLoop {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        while (true) {
            System.out.println("请输入一个整数(输入0结束):");
            int num = sc.nextInt();

            if (num == 0) {
                System.out.println("结束");
                break;
            }

            System.out.println("你输入的是:" + num);
        }
    }
}

4. 拓展:Random 随机数

Random 用来生成随机数,常见用途是:做随机验证码、抽奖、小游戏等。

  • nextInt(n) 生成的范围是:0 ~ n-1
  • 想要生成 1 ~ n,可以写成:nextInt(n) + 1

书写格式

java 复制代码
import java.util.Random;

Random r = new Random();
int num = r.nextInt(上限); // 0 ~ 上限-1

案例:生成 1~100 的随机数

java 复制代码
import java.util.Random;

public class Demo09Random {
    public static void main(String[] args) {
        Random r = new Random();
        int num = r.nextInt(100) + 1;
        System.out.println(num);
    }
}

结语

回顾一下:先用例子把代码跑起来,再回头记住语法要点。条件判断用 if/else/else if,固定值分支用 switch。重复执行用循环,并用 break/continue 控制流程。

  • 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学 Java 的同学看到。
  • 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
  • 想系统看更多内容:可以关注专栏《JavaSE》,一起把基础打牢。
相关推荐
Boilermaker19921 天前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维1 天前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 天前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
꧁Q༒ོγ꧂1 天前
LaTeX 语法入门指南
开发语言·latex
njsgcs1 天前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_991 天前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子1 天前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji34161 天前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
古城小栈1 天前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust
ghie90901 天前
基于MATLAB的TLBO算法优化实现与改进
开发语言·算法·matlab