新闻详情

新闻详情

首页 / 资讯中心 / 详情

05-循环语句

发布时间:2026/9/30 2:11:01来源:尧图网络
05-循环语句
循环语句for循环例while循环例在写代码时选择for循环还是while循环do…while循环无限循环例循环控制break例题continue例题小结猜数字经典算法题生成随机数猜数字代码循环嵌套例题1例题2循环语句配套完整代码GitHub仓库https://github.com/LIN-commit/java-learning代码所在目录java-learning/loop/本节对应代码ForDemo.java : for循环简单示例WhileDemo.java :while循环简单示例InfiniteLoop.java :无限循环InfiniteLoop_error.txt :无限循环错误示例BreakDemo.java :break使用示例PrimeNumber_Demo1 判断一个数是否是质数的写法一PrimeNumber_Demo2 判断一个数是否是质数的写法二ContinueDemo.java :continue使用示例NumberGuess.java :猜数字经典例题PrintPattern.java :打印一个4行5列的图形RightTriangle.java :打印一个直角三角形温馨提示为方便直接复制运行代码未写包名完整规范的源码结构可查看本人 GitHub 仓库for循环for循环格式for(初始化语句;条件判断语句;条件控制语句){ 循环体语句; }例打印1~5对应代码ForDemo.javapublicstaticvoidmain(String[]args){for(inti1;i5;i){System.out.println(i);}}[运行结果]1 2 3 4 5while循环while循环格式初始化语句 while(条件判断语句){ 循环体语句; 条件控制语句; }例题目利用while循环实现游戏中连续跳跃五次用输出语句模拟跳跃逻辑。对应代码WhileDemo.javapublicstaticvoidmain(String[]args){inti1;while(i5){System.out.println(游戏人物第i次跳跃);i;}}[运行结果]游戏人物第1次跳跃 游戏人物第2次跳跃 游戏人物第3次跳跃 游戏人物第4次跳跃 游戏人物第5次跳跃在写代码时选择for循环还是while循环for循环知道循环次数或者循环范围while循环不知道循环次数和范围只知道循环结束条件do…while循环do…while循环语句格式初始化语句; do{ 循环体语句; 条件控制语句; }while(条件判断语句)小贴士do…while循环语句是先执行后判断无限循环例对应代码InfiniteLoop.javapublicstaticvoidmain(String[]args){while(true){System.out.println(hello world);}}[运行结果]无限输出hello worldhello world hello world hello world ......在无限循环的代码块下方不能写任何代码对应代码InfiniteLoop_error.textpublicstaticvoidmain(String[]args){while(true){System.out.println(hello world);}System.out.println(ok);}[运行结果]java: 无法访问的语句 //代码报错因为永远无法访问到输出“OK”的那条语句无限循环通常配合break来结束循环控制break只能写在switch或循环中表示结束不能单独书写例对应代码BreakDemo.javapublicstaticvoidmain(String[]args){for(inti1;i10;i){System.out.println(i);if(i5)break;}}[运行结果]1 2 3 4 5小贴士循环的快速生成方式次数.fori回车例题键盘录入一个大于2的整数判断是否为质数写法一对应代码PrimeNumber_Demo1.javapublicstaticvoidmain(String[]args){//键盘录入一个大于2的整数intnum0;while(true){System.out.println(输入一个大于2的整数);ScannerscnewScanner(System.in);numsc.nextInt();if(num2)break;elseSystem.out.println(当前输入的数字不合法请重新输入);}//判断num是否是一个质数intcount0;for(inti2;inum;i){if(num%i0){count;break;//只要找到一个数字能被num整除那num就不是质数后面的数字就没必要判断了}}if(count0)System.out.println(num是质数);elseSystem.out.println(num不是质数);}小贴士在循环里定义的变量只能用于循环一旦出了循环就会被销毁而代码中的num变量出了while循环之后还会用到所以要在循环外定义变量。这里我的建议是在写代码时尽量不要在循环内定义变量减少报错的几率。写法二要证明一个数字是不是质数就是看它有没有除了1和它本身的因数且因数都是成对出现的一个数字大于等于平方根一个数字小于等于平方根的所以只需要判断在1到平方根之间有没有数能整除num即可num的平方根的代码写法是’Math.sqrt(num)’对应代码PrimeNumber_Demo2//判断num是否是一个质数intcount0;for(inti2;iMath.sqrt(num);i){if(num%i0){count;break;}}continuecontinue表示结束本次循环继续下次循环且只能写在循环中用法类似于跳过不能单独书写例题循环打印1~5跳过3对应代码ContinueDemo.javapublicstaticvoidmain(String[]args){for(inti1;i5;i){if(i3)continue;System.out.println(i);}}[运行结果]1 2 4 5小结break:不能单独书写只能写在switch或循环中表示结束跳出的意思continue:不能单独书写只能写在循环中结束本次循环继续下次循环猜数字经典算法题生成一个1~10之间的随机数利用键盘录入模拟猜的动作一直猜直到猜中为止生成随机数写法类似于键盘录入1.找到Random(1)在主入口内输入random后回车,变为Random,且在主入口外出现import java.util.Random;这行是确定Random的位置。(2)在Random后继续输入Random r new Random();2.让Random干活生成不同类型的随机数int num r.nextInt();如果里是空的默认在int的取值范围内取数如果在里写数字B表示随机数的最大值但不包含B如果在里写数字A,B表示取值范围是A~B包含A,不包含B注意r.nextInt(B)这个写法是Java 17 引入的写法如果你的JDK版本低于17请用r.nextInt(B)1例importjava.util.Random;publicclasstest1{publicstaticvoidmain(String[]args){RandomrnewRandom();intnumr.nextInt();System.out.println(num);}}[运行结果1]16129913[运行结果2]-378128417猜数字代码对应代码NumberGuess.javaimportjava.util.Random;importjava.util.Scanner;publicclasstest1{publicstaticvoidmain(String[]args){//生成一个在1~10之间的随机数RandomrnewRandom();intnumr.nextInt(1,11);//循环猜数直到猜中为止intguessNumber0;//变量命名的规则第一个单词首字母小写之后的单词首字母全部大写while(true){System.out.println(输入你猜的数);ScannerscnewScanner(System.in);guessNumbersc.nextInt();//提示猜的数偏大还是偏小if(guessNumbernum)System.out.println(猜的数偏小);elseif(guessNumbernum)System.out.println(猜的数偏大);else{System.out.println(猜对了);break;}}}}[运行结果]输入你猜的数 5 猜的数偏大 输入你猜的数 2 猜的数偏小 输入你猜的数 3 猜的数偏小 输入你猜的数 4 猜对了循环嵌套例题1打印4行5列的图案********************System.out.println();表示先打印再换行System.out.print();去掉ln表示只打印不换行对应代码PrintPattern.javapublicstaticvoidmain(String[]args){for(intline1;line4;line){for(intcolumn1;column5;column){System.out.print(*);}System.out.println();//换行}}[运行结果]***** ***** ***** *****例题2打印直角三角形**********对应代码RightTriangle.javapublicstaticvoidmain(String[]args){for(intline1;line4;line){for(intcolumn1;columnline;column)//内层循环的条件可以依赖外层循环的变量System.out.print(*);System.out.println();}}[运行结果]* ** *** **************以上就是java循环语句的基础内容了。下一篇我们将学习几道经典例题打印特殊图形和九九乘法表欢迎继续关注蓝猫学姐的java学习笔记~
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

C++基类指针指向派生类对象的内存原理与多态机制 2026/9/30 5:57:13

C++基类指针指向派生类对象的内存原理与多态机制

1. 这不是“语法糖”,是C多态的底层开关:基类指针与派生类对象的绑定,到底在内存里发生了什么?你写过Base* ptr new Derived();吗?这行代码看起来轻描淡写,但背后藏着C最核心的机制之一——动态绑定。它不…

阅读更多 →
Vue3后台管理系统从零搭建实战指南 2026/9/30 5:57:07

Vue3后台管理系统从零搭建实战指南

1. 为什么现在还要从零搭一个“简单干净”的Vue3后台管理系统?最近三个月,我帮六家不同行业的客户做过技术选型评估,其中四家最终放弃了市面上成熟的后台框架(比如若依、D2Admin、Ant Design Pro),转而选择…

阅读更多 →
软考系统架构师自学攻略:知识点集锦高效使用与避坑指南 2026/9/30 5:57:07

软考系统架构师自学攻略:知识点集锦高效使用与避坑指南

简介:这份《2021-系统架构设计师知识点集锦》面向备考软考系统架构设计师的考生,尤其适合以自学方式推进复习、需要系统梳理考点的中高级技术人员。内容围绕系统架构设计核心知识展开,可帮助读者建立从架构风格、质量属性到设计模式与系统建模…

阅读更多 →
AI资讯自动化日报系统:从需求定义到工程落地 2026/9/30 5:57:07

AI资讯自动化日报系统:从需求定义到工程落地

我无法生成关于“AI 日报(2026年9月23日)”的博文。原因如下:该标题不构成一个可执行、可复现、有明确技术路径或实操边界的项目。它本质上是一个时间戳领域标签的静态命名格式(类似“今日天气简报”“早间财经速览”)…

阅读更多 →
K8s故障排查实战:从Pod Pending到节点NotReady的体系化路径 2026/9/30 5:57:07

K8s故障排查实战:从Pod Pending到节点NotReady的体系化路径

简介:这份文档面向云计算运维工程师、K8s 初学者及需要快速排障的一线人员,系统梳理了 Kubernetes 集群常见故障的诊断与处理思路。内容按连接异常、通信异常、节点内部异常、应用异常四大模块展开,涵盖 Pod 处于 ContainerCreating、Pending…

阅读更多 →
AI学习操作系统:工具层+框架层+认知层实战指南 2026/9/30 5:57:07

AI学习操作系统:工具层+框架层+认知层实战指南

1. 这不是一张“地图”,而是一套可执行的AI学习操作系统你打开浏览器搜“AI学习路线”,页面上堆满五花八门的导图:从Python基础到Transformer论文,从PyTorch到LangChain,密密麻麻像一张没标海拔的登山图——你知道山顶…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉