Java 循环 for while do {...} while (...)
循环控制
循环是程序组成的一个关键要素,循环就是让一句代码按照你的要求循环执行。
在Java
中共有三种循环语句, 分别是:
for
循环while
循环do {...} while (...);
for 循环
语法:
for (初始化条件 ; 循环条件 ; 循环变量迭代) {
循环操作(支持多语句);
循环操作(支持多语句);
循环操作(支持多语句);
}
for
说明:
for
是关键字,表示循环控制for
有四个要素:- 循环变量的初始化
- 循环条件
- 循环操作
- 循环变量迭代
- 循环操作可以有多条语句,也就是我们要循环执行的代码
- 如果循环操作只有一条语句,可以省略
{}
,但是建议保留,增强代码可读性
for
细节:
- 循环条件是返回一个布尔值的表达式
for (; 循环判断条件 ;)
中的初始化和变量迭代可以写到其他地方,但是两边的;
不能省略- 循环初始值可以有很多条初始值语句,但要求类型一样,并且中间用
,
隔开,循环变量迭代也可以有多条变量迭代语句,不同语句间同样需要用,
隔开
各种写法:
public class Java_20_ForDetail {
public static void main (String[] args) {
// for 的多种写法
// 常规写法
for (int i = 0 ; i < 5 ; i++ ) {
System.out.println(i);
}
System.out.println("=======================================");
// 变量 及 变量迭代 在外写法
int i = 0;
for (; i < 5 ;) {
System.out.println(i);
i++;
}
System.out.println("=======================================");
int count = 0; // 作为无限循环的出口计数器
// 死循环写法
for (;;) {
// 这种写法是在不知道具体循环次数的时候
// 配合 判断分支 一直循环 直到满足推出条件 执行 break 结束循环
// 循环必须拥有一个出口,不能出现死循环的情况
if (4 < count) break;
System.out.println("死循环中" + count);
// 给计数器 +1
count++;
}
System.out.println("=======================================");
// 多语句写法
for (int count1 = 0, count2 = 8; count1 < count2; count1 += 2, count2++) {
System.out.println("count1 = " + count1 + " count2 = " + count2);
}
}
}
实际应用:
public class ForExercise {
public static void main (String[] args) {
// 需求,打印 1-100之间是9的倍数的整数,统计个数,及总和
// 创建变量统计个数 及 总和
int count = 0;
int sum_ = 0;
// 开始循环
for (int num = 1; num <= 100; num++) {
// 取余
int surplus = num % 9;
switch (surplus) { // 因为 满足 switch 的类型需求 且需判断的值不多,所以使用 switch
case 0:
// 满足条件, 给计数器 +1 累加 总和
count += 1;
sum_ += num;
System.out.println("Multiples of 9: " + num);
}
}
System.out.println("9 的倍数的整数有 " + count + " 个 总和是: " + sum_);
while循环
语法:
// 循环变量初始化
int count = 1; // 也可以理解为计数器
while (count <= 10) { // 一直循环,直到 count 大于 10 结束循环
要循环执行的语句;
// 循环变量迭代
count++; // 也可以理解为计数器 +1
}
while
说明:
while
是关键字表示循环while
同样有四要素,只是四要素的放置位置与for
有区别,不过原理都是一样的(可以理解为上面for
循环的变量 及 变量迭代 在外写法)while
是先判断,再执行
实际应用:
// while 实际应用
// 打印 1-100 之间所有能被3整除的数
// 定义循环起始值
int start_num = 1;
// 定义倍率关系变量
int mag = 3;
// 定义循环结束值
int end_num = 100;
// 开始定义循环条件
while (start_num <= end_num) { // 当 起始值 小于或等于 结束值 就会进入循环体
int while_result = start_num % mag;
switch (while_result) {
case 0:
System.out.println(start_num);
}
// 循环变量迭代
start_num++;
do..while
基本语法:
循环变量初始化;
do {
循环执行的语句;
循环变量迭代;
} while (循环条件);
do...while
说明
do {...} while (...);
是关键字- 和上面的
for
while
循环一样,都有四要素, 只是执行顺序不一样 do while
是先执行, 再判断 (也就是说 至少会执行一次)
实际应用:
//统计 1-200之间能被 5 整除但 不能被 3 整除的个数
// 定义 循环 初始/结束 值
int do_start = 1;
int do_end = 200;
// 定义累加计数器
int do_count = 0;
// 定义整除变量
int mag1 = 5, mag2 = 3;
do {
if ((do_start % mag1 == 0) && (do_start % mag2 != 0)) {
// 满足条件计数器 +1
do_count += 1;
}
// 循环变量迭代
do_start++;
} while (do_start <= do_end);
// 打印结果
System.out.println("能被 5 整除但 不能被 3 整除的个数是: " + do_count);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具