Java流程控制之循环结构while、do...while
目录
- 1、while 循环
- 2、do…while 循环
- 3、while和do…while的区别
本篇笔记内容记录while循环以及do…while循环,下一篇将讲述for循环以及延伸出来的增强型for循环(Java5新加)前言:
【Java流程控制之循环结构while、do...while】在了解了选择结构之后,我们发现,仅通过选择结构,无法让程序一直跑着,我们每次运行就停止了。这在真实环境中肯定是不行的,比如网站的服务器,需要24小时无休地跑着,以及程序跑多少次等等。
为了解决这个问题,循环结构自然而然地诞生了!
顺序结构的程序语句只能跑一次(执行一次)。而很多时候,需要执行的一个步骤需要多次实现,这个时候使用循环结构无疑是很好的选择。
Java中有三种主要的循环结构:
- while 循环
- do…while 循环
- for 循环
1、while 循环 while是最基本的循环,它的结构为:
while( 布尔表达式 ) {//循环内容}
如图:
文章图片
实例助解:输出10-15 x的值。
public static void main(String args[]) {int x = 10; while( x < 16 ) {System.out.print("x的值 : " + x ); x++; System.out.print("\n"); }}
输出演示,如图:
文章图片
注意:一少部分情况需要循环一直执行,如服务器的请求、响应、监听等。
public static void main(String[] args) {while (true){//等待客户端连接//定时检查//......}}
注意:实例助解:1+2+3+...+100的和
- 循环条件一直为true就会造成无限循环(死循环),我们正常的业务编程中应该尽量避免无限循环。
- 无限循环可能会影响程序性能或者造成程序崩溃。
public static void main(String[] args) {int i = 0; int sum = 0; while (i <= 100) {sum = sum+i; i++; }System.out.println("Sum= " + sum); }
输出演示,如图:
文章图片
相关故事:
其实说到1+2+3+…+100这个实例,我们可能会联想到一位有名的数学家——高斯,他9岁时实现了1到100的快速求和。具体点儿来说,高斯当时用很短的时间计算出了小学老师布置的任务:对自然数从1到100的求和。他所使用的方法是:对50对构造成和101的数列求和(1+100,2+99,3+98……),同时得到结果:5050。
2、do…while 循环 对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。这个时候,
do…while
的出现解决了这一问题。do…while
循环和 while
循环相似,不同的是,do…while 循环至少会执行一次。do {//代码语句}while(布尔表达式);
如图:
文章图片
我们用do…while循环一下上面的1-100之和的例子
public static void main(String[] args) {int i = 0; int sum = 0; do {sum = sum+i; i++; }while (i <= 100); System.out.println("Sum= " + sum); }
输出演示,如图:
文章图片
3、while和do…while的区别
while
先判断后执行。do…while
是先执行后判断Do…while
总是保证循环体会被至少执行一次
public static void main(String[] args) {int a = 1; System.out.println("==========while=========="); while(a<1){System.out.println(a); a++; }System.out.println("==========do...while=========="); do{System.out.println(a); a++; } while (a<1); }
输出演示,如图:
文章图片
到此这篇关于Java流程控制之循环结构while、do...while的文章就介绍到这了,更多相关Java循环结构while、do...while内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- vue权限控制组件
- 蓝桥杯2022年java试题
- AutoHotkey|[AHK]Excel 怎么使用鼠标滚轮控制表格左右移动
- 如何深入学习Java并发编程()
- 趣学Java|干掉Session(这个跨域认证解决方案真的优雅)
- JavaWeb|线程安全详解
- Windows原理深入学习系列-强制完整性控制
- java|java 实现图片圆角处理、背景透明化
- javascript|关于单元测试的一些看法
- 计算机原理和操作系统|计算机的I/O设备及I/O设备控制方式(DMA、IO通道)