【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》,一起把基础打牢。
相关推荐
韦禾水1 天前
记录一次项目部署到tomcat的异常
java·tomcat
曦月合一1 天前
树莓派安装jdk、tomcat、vnc、谷歌浏览器开机自启等环境配置
java·tomcat·树莓派
harder3211 天前
RMP模式的创新突破
开发语言·学习·ios·swift·策略模式
jinanwuhuaguo1 天前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
Rust研习社1 天前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
此剑之势丶愈斩愈烈1 天前
openssl 自建证书
java
面汤放盐1 天前
何时使用以及何时不应使用微服务:没有银弹
java·运维·云计算
0xDevNull1 天前
Spring Boot 自动装配:从原理到实践
java·spring boot·后端
qq_589568101 天前
java学习笔记,包括idea快捷键
java·ide·intellij-idea
淘矿人1 天前
从0到1:用Claude启动你的第一个项目
开发语言·人工智能·git·python·github·php·pygame