
🎬 博主名称: 超级苦力怕
🔥 个人专栏: 《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...while 和 while 很像,但它会先执行一次再判断条件,所以"至少执行 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》,一起把基础打牢。
