搞懂Java的死循环(for、while、do-while)

搞懂Java的死循环(for、while、do-while)

目录

⚽️一、为啥要学 Java 的循环

🏀二、初相识:for、while、do - while 常规用法

🏈(一)for 循环:心中有数的 “计数器”

⚾️(二)while 循环:伺机而动的 “守望者”

🎾(三)do - while 循环:先干再说的 “实干家”

🏐三、重头戏:死循环登场

🏉(一)啥是死循环

⛳️(二)for 死循环:简洁的永动机

🏌(三)while 死循环:执着的守护者

🏓(四)do - while 死循环:倔强的践行者

🏸四、死循环的 “小心机” 与实战运用

🏒(一)死循环的风险:别让程序 “失控”

⛷(二)巧用死循环:创造无限可能

⛸五、一起动手敲敲代码

家人们,今天我想跟你们唠唠我在学 Java 编程的时候碰到的几个特别基础但又超级重要的东西 ——for 循环、while 循环还有 do - while 循环。

❤️一、为啥要学 Java 的循环

循环嘛,重要嘛

❤️二、初相识:for、while、do - while 常规用法

💛(一)for 循环:心中有数的 “计数器”

咱先看 for 循环,它长得有点像个小工厂,结构特别清晰。语法是这样的:

for (初始化; 循环条件; 迭代语句) {

// 循环体,也就是要重复做的事儿

}

比如说,咱们要算 1 到 100 的累加和,用 for 循环写就特简单:

public class ForLoopExample {

public static void main(String[] args) {

int sum = 0;

for (int i = 1; i <= 100; i++) {

sum += i;

}

System.out.println("1到100的累加和是:" + sum);

}

}

💚

这里呢,“int i = 1” 就是初始化,告诉程序从 1 开始;“i <= 100” 是循环条件,只要 i 没超过 100 就接着循环;“i++” 是迭代语句,每次循环完 i 就加 1;花括号里的 “sum += i” 就是循环体,把 i 的值累加到 sum 上。程序就这么一步步地,稳稳当当把 1 到 100 都加起来了,最后输出结果 5050。是不是感觉 for 循环特别有条理,就像个心里有数的计数器,知道啥时候开始,啥时候结束,每一步都规划得明明白白。

💚

💙(二)while 循环:伺机而动的 “守望者”

再看看 while 循环,它的语法像这样:

初始化;

while (循环条件) {

// 循环体

迭代语句;

}

举个例子,咱们来判断一个数是不是质数,代码如下:

public class WhileLoopExample {

public static void main(String[] args) {

int num = 17;

int i = 2;

boolean isPrime = true;

while (i < num) {

if (num % i == 0) {

isPrime = false;

break;

}

i++;

}

if (isPrime) {

System.out.println(num + "是质数");

} else {

System.out.println(num + "不是质数");

}

}

}

这里先初始化 “int num = 17”(要判断的数)和 “int i = 2”(用来除 num 的数),“while (i < num)” 就是循环条件,只要 i 比 num 小就继续循环。循环体里判断 num 能不能被 i 整除,如果能,就说明不是质数,把 “isPrime” 设为 false 然后跳出循环,要是一直没找到能整除的,那 num 就是质数。while 循环就像是个守望者,守着那个循环条件,条件满足就一直干活,它和 for 循环有点像,但在有些不知道要循环多少次,只知道结束条件的时候用起来更顺手。

💜(三)do - while 循环:先干再说的 “实干家”

最后讲讲 do - while 循环,语法是:

初始化;

do {

// 循环体

迭代语句;

} while (循环条件);

它有个特点,就是不管咋样,循环体至少先执行一次。咱们来写个简单的猜数字游戏代码:

import java.util.Scanner;

public class DoWhileLoopExample {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int target = 50;

int guess;

do {

System.out.println("猜一个 1 到 100 之间的数字:");

guess = scanner.nextInt();

if (guess > target) {

System.out.println("猜大了");

} else if (guess < target) {

System.out.println("猜小了");

}

} while (guess!= target);

System.out.println("恭喜你,猜对了!");

scanner.close();

}

}

这里 “int target = 50” 是要猜的目标数字,“do” 后面的循环体里先让玩家输入猜测的数字,然后判断大小给出提示,“while (guess!= target)” 是循环条件,只要没猜对就继续循环。哪怕玩家第一次就蒙对了,循环体里的输入提示代码也至少执行一次,这就是 do - while 循环的 “先干再说” 风格,在需要先执行一次操作,再看要不要继续的场景里特别好用。

❤️三、重头戏:死循环登场

💛(一)啥是死循环

家人们,想象一下家里的风扇,要是开关坏了,它就一直转个不停,再或者火车在铁轨上,刹车失灵,一路狂奔不停下,这在生活里可就是故障啦。在程序里,死循环差不多也是这么个事儿,就是循环一直停不下来,不停地重复执行循环体。

💚(二)for 死循环:简洁的永动机

来看看 for 循环怎么写出死循环,最简单的就是 for (;;),代码如下:

public class ForDeadLoop {

public static void main(String[] args) {

for (;;) {

System.out.println("我停不下来啦,一直在跑!");

}

}

}

上面这两种截图都可以达到死循环的效果!!!

这里没有写循环条件和迭代语句,程序跑到这就蒙圈了,不知道啥时候该停,就只能一直执行循环体里打印那句话,像个永动机似的。在实际应用里,比如服务器程序,有时候就得用这种 for 死循环,让服务器一直处于监听客户端请求的状态,只要服务器不关,它就得一直候着,随时响应。

💙(三)while 死循环:执着的守护者

while 循环写出死循环也不难,while (true) 就行,看下面代码:

public class WhileDeadLoop {

public static void main(String[] args) {

while (true) {

System.out.println("我坚守岗位,永不离岗!");

}

}

}

因为 “true” 这个条件永远都成立,所以循环就一直持续下去,不停歇。在游戏开发里,有个用处,像游戏运行时要一直实时渲染画面,保证玩家看到流畅的场景,就得用 while 死循环,让渲染代码一直跑,只要游戏没退出,画面就一直更新。

💙(四)do - while 死循环:倔强的践行者

do - while 循环的死循环写法是 do {} while (true),代码示例:

public class DoWhileDeadLoop {

public static void main(String[] args) {

do {

System.out.println("我先干一票,然后一直干下去!");

} while (true);

}

}

和前面说的 do - while 特性一样,先执行一次循环体,打印那句话,然后因为 while 后面是 “true”,就一直循环,停不下来。在一些监控系统里,比如要持续采集某个设备的数据,就可以用这个,先采集一次,然后不间断地采集后续数据,保证数据的连贯性。

💜四、死循环的 “小心机” 与实战运用

💙(一)死循环的风险:别让程序 “失控”

虽说死循环能派上用场,但要是不小心,那可就捅娄子了。要是一个普通的小程序不小心弄出个死循环,可能电脑就会变得特别卡,程序无响应,因为它一直在占用系统资源,疯狂地重复执行。在开发的时候,咱们得小心,要是写了死循环,得有个后手,比如设置超时机制,要是循环执行太久,就强制退出;或者实时监控系统资源占用,一旦发现不对劲,赶紧调整。要是在团队项目里,写了个死循环还没处理好,队友们估计得找你 “谈心” 了,哈哈。

❤️(二)巧用死循环:创造无限可能

不过只要用得好,死循环能帮咱们干好多酷炫的事儿。比如说,咱们写个文档编辑软件,想要实现自动保存功能,就可以用个 while 死循环,每隔一段时间就触发保存操作,只要软件开着,就一直守护文档,不怕数据丢失。

💛五、一起动手敲敲代码

家人们,光说不练假把式,我给你们几个简单的练习。比如说,用 for 死循环打印个三角形图案,像这样

public class ForDeadLoopPractice {

public static void main(String[] args) {

for (;;) {

for (int i = 0; i < 5; i++) {

System.out.print("*");

}

System.out.println();

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}

这里外层的 for 死循环保证一直运行,内层循环打印 5 个 “*” 然后换行,再用 “Thread.sleep (1000)” 让程序暂停 1 秒,这样就能看到每隔 1 秒打印一行 “*****”,像个闪烁的星星条。

还有个模拟持续输入场景的,用 do - while 死循环:

import java.util.Scanner;

public class DoWhileDeadLoopPractice {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

do {

System.out.println("请输入点什么,输入'exit'退出:");

String input = scanner.nextLine();

if (!input.equals("exit")) {

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

}

} while (true);

scanner.close();

}

}

💙💙💙💙

这个代码只要用户不输入 “exit”,就一直让用户输入内容并打印确认,像个永不疲倦的小秘书。你们动手敲敲这些代码,看看运行效果,要是想玩点花样,试着改改代码,看看会发生什么变化,说不定就能发现编程的新乐趣啦!要是碰到啥问题,随时来找我唠唠,咱一起进步!

❤️❤️❤️❤️

相关创意

解决Java HTTP请求报错406:详解原因及修复方法
beat365手机中文官方网站

解决Java HTTP请求报错406:详解原因及修复方法

📅 09-04 👁️ 2153
Android9 framework 按键音调用流程及自定义按键音(替换原生按键音)和调节按键音音量的方法
科目三考试多少时间?
beat365投注网站

科目三考试多少时间?

📅 08-24 👁️ 3887
怎么提高直通车质量得分?作者:小果 时间:2025-07-12 阅读:3976
17岁能借钱吗?这几种合法途径你需要知道!
beat365投注网站

17岁能借钱吗?这几种合法途径你需要知道!

📅 08-01 👁️ 3454
蕲艾的意思
365bet平台总代

蕲艾的意思

📅 09-13 👁️ 9512
怎么给电视安装第三方软件?三种详细教程任你选,第二种亲测好用
把你咬出一堆包的,真不一定是蚊子
beat365手机中文官方网站

把你咬出一堆包的,真不一定是蚊子

📅 09-15 👁️ 2440