第5篇:重复执行——让程序帮你干活 java中文编程
第5篇重复执行——让程序帮你干活**作者**中文编程倡导者—— 李金雨联系方式wbtm2718qq.com目标掌握循环语句让程序自动重复执行任务预计时间3课时135分钟难度⭐⭐⭐☆☆中等难度一、开篇引入1.1 本课目标学完本篇你将能够✅ 使用for循环做固定次数的重复✅ 使用while循环做条件控制的重复✅ 使用break提前结束循环✅ 使用continue跳过某次循环✅ 使用嵌套循环打印各种图形1.2 生活场景引入循环就像自动流水线想象一下for循环老师点名册从1号叫到50号while循环反复练习投篮直到投进为止break找到丢失的钥匙就不找了continue值日时跳过请假同学的座位程序用循环来自动完成重复性的工作1.3 预期成果展示 乘法表 1×11 1×22 2×24 1×33 2×36 3×39 ...完整9行 1到100的和是5050二、概念讲解2.1 for循环计数循环当你知道要重复多少次时用for循环语法for(初始化;条件;变化){// 重复执行的代码}拆解for(inti1;i5;i){System.out.println(第i次循环);}// 执行顺序// 第1轮i1 → i5? → 输出 → i(i2)// 第2轮i2 → i5? → 输出 → i(i3)// ...// 第5轮i5 → i5? → 输出 → i(i6)// 第6轮i6 → i5? → false → 结束生活例子老师点名for (int 学号 1; 学号 50; 学号)数数字for (int 数 1; 数 100; 数)2.2 while循环条件循环当你不知道要重复多少次但知道什么时候停止时用while循环语法while(条件){// 条件成立就一直重复}int计数1;while(计数5){System.out.println(计数计数);计数;// 别忘了改变条件}生活例子一直练习投篮直到投进为止一直吃直到吃饱为止2.3 do-while循环至少执行一次和while类似但至少会执行一次int计数1;do{System.out.println(计数计数);计数;}while(计数5);while vs do-whilewhile先检查条件再执行可能一次都不执行do-while先执行一次再检查条件至少执行一次2.4 break跳出循环break用来提前结束循环// 找到第一个被7整除的数就停止for(inti1;i100;i){if(i%70){System.out.println(找到了i);break;// 找到了立即结束循环}}2.5 continue跳过本次continue用来跳过本次循环继续下一次// 跳过所有奇数只打印偶数for(inti1;i10;i){if(i%2!0){continue;// 如果是奇数跳过本次循环}System.out.println(偶数i);}// 输出2, 4, 6, 8, 102.6 嵌套循环循环套循环循环里面再套循环可以用来处理二维的事情// 打印时钟时针和分针for(int时0;时24;时){for(int分0;分60;分){System.out.println(时:分);}}三、动手实践3.1 基础练习必做练习1三种循环写法的对比publicclassMain{publicstaticvoidmain(String[]args){// for循环System.out.println( for循环 );for(inti1;i5;i){System.out.println(第i次循环);}// while循环System.out.println(\n while循环 );int计数1;while(计数5){System.out.println(计数计数);计数;}// do-while循环System.out.println(\n do-while循环 );int数字1;do{System.out.println(数字数字);数字;}while(数字5);}}练习2计算1到100的和高斯小时候的故事老师让大家算123…100高斯很快算出了5050。publicclassMain{publicstaticvoidmain(String[]args){int总和0;for(inti1;i100;i){总和i;}System.out.println(1到100的和是总和);// 也可以用公式n*(n1)/2int公式结果100*101/2;System.out.println(用公式算也是公式结果);}}3.2 进阶练习选做练习3打印乘法表publicclassMain{publicstaticvoidmain(String[]args){System.out.println( 乘法表 );for(inti1;i9;i){for(intj1;ji;j){System.out.print(j×i(i*j)\t);}System.out.println();// 换行}}}练习4打印各种图形publicclassMain{publicstaticvoidmain(String[]args){// 直角三角形System.out.println( 直角三角形 );for(inti1;i5;i){for(intj1;ji;j){System.out.print(*);}System.out.println();}// 倒三角形System.out.println(\n 倒三角形 );for(inti5;i1;i--){for(intj1;ji;j){System.out.print(*);}System.out.println();}// 菱形使用空格和星号System.out.println(\n 菱形 );int行数5;for(inti1;i行数;i){for(intj1;j行数-i;j){System.out.print( );}for(intj1;j2*i-1;j){System.out.print(*);}System.out.println();}for(inti行数-1;i1;i--){for(intj1;j行数-i;j){System.out.print( );}for(intj1;j2*i-1;j){System.out.print(*);}System.out.println();}}}3.3 挑战练习拓展练习5猜数字游戏完整版importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scanner输入newScanner(System.in);// 生成1-100的随机数int秘密数字(int)(Math.random()*100)1;int猜测次数0;boolean猜中false;System.out.println( 猜数字游戏 );System.out.println(我已经想好了一个1-100之间的数字);while(!猜中){System.out.print(请输入你猜的数字);int猜的数字输入.nextInt();猜测次数;if(猜的数字秘密数字){System.out.println( 太棒了猜对了);System.out.println(你一共猜了猜测次数次);猜中true;}elseif(猜的数字秘密数字){System.out.println(猜小了再大一点);}else{System.out.println(猜大了再小一点);}}System.out.println(游戏结束);}}练习6用break和continuepublicclassMain{publicstaticvoidmain(String[]args){// break示例找到第一个能被3和5同时整除的数System.out.println( break示例 );for(inti1;i100;i){if(i%30i%50){System.out.println(第一个能同时被3和5整除的数是i);break;}}// continue示例输出1-20中不是3的倍数的数System.out.println(\n continue示例 );System.out.print(1-20中不是3的倍数的数);for(inti1;i20;i){if(i%30){continue;}System.out.print(i );}System.out.println();}}四、知识总结4.1 核心概念回顾循环类型适用场景示例for知道循环次数for (int i0; i10; i)while知道循环条件while (条件) { ... }do-while至少执行一次do { ... } while (条件)break提前结束循环if (找到) break;continue跳过本次循环if (跳过) continue;嵌套循环多维数据处理for(...) { for(...) { ... } }4.2 关键代码速查// for循环for(inti0;i10;i){System.out.println(i);}// while循环inti0;while(i10){System.out.println(i);i;}// 嵌套循环打印图形for(inti0;i5;i){for(intj0;ji;j){System.out.print(*);}System.out.println();}// break和continuefor(inti0;i10;i){if(i5)break;// 到5就停止if(i%20)continue;// 跳过偶数System.out.println(i);}4.3 常见错误提醒错误原因解决方法无限循环循环条件永远成立确保条件会变成false忘记改变变量i没有递增检查i是否漏了死循环while(true)没有break加break退出条件嵌套循环搞混i和j用混了用不同的变量名五、课后作业5.1 巩固练习计算1到50中所有偶数的和打印99乘法表的倒三角形式用循环找出100-200之间的所有质数5.2 创意编程制作数字炸弹游戏程序随机生成一个1-100的数字炸弹用户每次猜一个数字程序提示大了或小了猜中时引爆炸弹显示猜的次数5.3 下篇预习 如果有100个学生的成绩怎么存储和管理 数组是什么怎么用下一篇我们将学习多维数据盒——管理大量数据 小贴士循环是程序最强大的功能之一有了循环电脑才能真正发挥它的优势——快速做重复的事情。