![d0308d80bb456a940b1f5cf5349c064d.png](https://i-blog.csdnimg.cn/blog_migrate/dda840ec46d0bac89f577b9d9b598566.jpeg)
while语法结构如下:
![bb1d19581b5ff7dd395cc078bb404150.png](https://i-blog.csdnimg.cn/blog_migrate/06a961c9b3dc198d3b1b9ea7e44af986.png)
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
1、使用while循环计算100以内奇数和偶数的和,并输出,代码如下:
![5c22e45bd51ae97249cf665a2ed035bf.png](https://i-blog.csdnimg.cn/blog_migrate/1fbbca74629d6e98236f7f66b87998c8.jpeg)
2、用 while 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个,代码如下
![d0a1dae01eb2a8e4b3d9033d94bb27b3.png](https://i-blog.csdnimg.cn/blog_migrate/c02a48f819042c2fd20308e2c5e13094.jpeg)
3、生成0-100随机数,直到生成88为止,停止循环!代码如下:
![7e7cf70ce6f1ee3f9f7a9f530ddafae9.png](https://i-blog.csdnimg.cn/blog_migrate/fcf4a5c10e72b596c2d97989a92a8e06.jpeg)
break的作用在于结束循环体,在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。
continue用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
for循环语法结构如下:
![91d4c1ab81debf97f2f8850f1e8adf37.png](https://i-blog.csdnimg.cn/blog_migrate/ad00910335a950a124f32f698dfcee40.png)
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。
执行步骤如下:
A.初始化部分设置循环变量的初值
B.条件判断部分为任意布尔表达式,如果布尔表达式为true,则进行一次循环体,不满足则退出循环
C.执行完一次循环体,迭代因子自增1或者自减1
1、使用for循环计算100以内奇数和偶数的和,并输出,代码如下
![3eb6e11700fd4848f32e51ed71c97d24.png](https://i-blog.csdnimg.cn/blog_migrate/3cac248dd243380a388ce7f9b530cf9f.jpeg)
2、用 for 循环输出 1-1000 之间能被 5 整除的数,且每行输出 3 个,代码如下
![8c19b9679a62796769c8a3cb5f18cfe7.png](https://i-blog.csdnimg.cn/blog_migrate/346db22a8bf69f53dae0e1d674857789.jpeg)
带标签的break和continue
goto关键字很早就在程序设计语言中出现。尽管goto仍是Java的一个保留字,但并未在Java语言中得到正式使用;Java没有goto语句。然而,在break和continue这两个关键字的身上,我们仍然能看出一些goto的影子---带标签的break和continue。
1、控制嵌套循环跳转(打印101-150之间所有的质数)
代码如下:
![0ebd7939998185af2f4e063c2f73ac8b.png](https://i-blog.csdnimg.cn/blog_migrate/e3dd290f667d811e7320e82e2f2bffab.jpeg)
注意:上面的continue outer是不会去执行后面的System.out.println(i)的,而是直接跳到outer旁边的for循环开始继续接着上次的判断执行。