
前言刚学java循环那会儿我整个人都是抗拒的。while、do-while、for三种写法绕来绕去总觉得“不就用一种不就行了”后来才明白每种循环都有自己的用武之地。while先问再干while循环像极了“先审批后干活”——条件成立了才执行不成立直接跳过。inti1;while(i5){ System.out.println(i);i;}我踩过一个坑忘记更新循环变量结果程序开在那儿控制台疯狂刷屏下的我直接过掉了IDEA。从此我养成了习惯——写while先检查变量有没有“”“长大”或“变小”。do-while先干再问do-while 就耿直多了——不管什么先执行一次再说。它和while的核心区别就一句话第一次条件不满足是do-while会多执行一次。intn1;do{ System.out.println(n);n;}while(45);图中红色框出来的条件为false但是都do-while仍然会执行一次。这玩意儿适合“至少要做一次”的场景比如让用户输入密码——总得让人家先输一次再判断对不对吧for计数器的神器如果说前两种靠条件驱动那for就是靠“计数”驱动。把初始化、判断、更新全写在一行看着就清爽也不容易忘记更新变量。for(inti1;i10;i){ System.out.println(i);}执行顺序很多人搞混先初始化只跑一次再判断然后进循环体最后更新变量接着再判断……这个流程我画了好几遍才刻进脑子里。break和continue这两个关键字有些人总是容易搞混我用一个形象的例子来解释- break坐公交直接“下车”后面站点全不去了- continue“这站不停”跳过继续往前开嵌套循环里外配合这玩意儿刚开始真把我绕晕了。后来老师点醒我一句话外层管行内层管列。记住这个打印图形、遍历表格都不慌了。九九乘法表经典案例for(inti1;i9;i){for(intj1;ji;j){ System.out.print(j×i(i*j)\t);} System.out.println();}内层循环的j i是关键——每行列数跟着行号走。这种“行号控制列数”的思维学完后在打印等腰三角形、菱形时反复用到。总结循环是Java中处理重复任务的核心工具。while先判断后执行do-while至少执行一次for适合计数场景。用好break和continue控制流程嵌套循环时理清外层行内层列的关系多敲代码才能真正掌握。