【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》,一起把基础打牢。
相关推荐
Slow菜鸟2 小时前
Java基础架构设计(四)| 通用响应与异常处理(单体/分布式通用增强方案)
java·开发语言·分布式
wheelmouse77882 小时前
Java工程师Python实战教程:通过MCP服务器掌握Python核心语法
java·服务器·python
nix.gnehc2 小时前
Spring AI/Spring AI Alibaba简介
java·人工智能·spring·ai
任子菲阳2 小时前
学JavaWeb第三天——Maven
java·maven·intellij-idea
wadesir2 小时前
Java消息队列入门指南(RabbitMQ与Spring Boot实战教程)
java·rabbitmq·java-rabbitmq
世转神风-2 小时前
qt-初步编译运行报错-When executing step “Make“-无法启动进程“make“
开发语言·qt
ghgxm5202 小时前
EXCEL使用VBA代码实现按条件查询数据库--简单实用
开发语言·数据仓库·笔记·excel·数据库开发
一只懒鱼a2 小时前
SpringBoot整合canal实现数据一致性
java·运维·spring boot
..空空的人2 小时前
C++基于protobuf实现仿RabbitMQ消息队列---服务器模块认识1
服务器·开发语言·c++·分布式·rabbitmq·protobuf