java循环语句的四要素如何设置_1.3 Java之循环语句

目录

循环

for 循环结构

for循环实例

while 循环

do/while 循环

无限循环

嵌套循环结构

嵌套循环练习

找100以内的质数(循环)

法一(最笨)

法二

法三(best)

法四

循环

循环语句的四个组成部分

初始化部分(init_statement)

循环条件部分(test_exp)

循环体部分(body_statement)

迭代部分(alter_statement)

for 循环结构

for (初始化表达式①; 布尔值测试表达式②⑤⑦; 更改表达式){

语句或语句块③⑥ ;

a2a66121304fa5f50b1155d7d0293252.png

关注循环顺序(1-2-3-4-2-3-4。。。。。。)

ac757c9a0df0ed4fd89de80730292c1c.png

思想:体会循环过程

for循环实例

0)

760cd7417f71a09138e40ae055e17a8b.png

思想:关注 ==0 判断

1)编写程序FooBizBaz.java,从1循环到150并在每行打印一个值,另外在每个3的倍数行上打印出“foo”,在每个5的倍数行上打印“biz”,在每个7的倍数行上打印输出“baz”

350c3b5d7b5aa72339caa4b298eca9b6.png

7f1fea0dc37c8aa4e26327c78ba84ecc.png

思想:注意print()的使用,不换行,且采用if结构的第一种,因为if-else只执行条件分支的一个语句块。

2)输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位上数字立方和等于其本身。例如: 153 = 1*1*1 + 3*3*3 + 5*5*5

2d5a35ab863b0fa4553a6e9f3fe1850e.png

思想:1.遍历 2.取出个十百位

while 循环

包含循环四要素

[初始化语句]

while( 布尔值测试表达式){

语句或语句块;

[更改语句;]

}

fcd9dc98cb725587c75f0219c2fabc66.png

可与for循环替换,但区别在于初始条件的位置,导致作用范围不同

do/while 循环

[初始化语句]

do{

语句或语句块;

[更改语句;]

}while(布尔值测试表达式);

c50480f943156e736e4ae36af2242eb0.png

do-while 语句至少执行一次循环体

无限循环

从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。

思想:

考察无限循环,最简单无限循环格式:while(true) , for(;;)

要有break,确保循环终止,NO死循环

7e39dc19f3f92345a3dd3f167ca12310.png

嵌套循环结构

1)将一个循环放在另一个循环体内,就形成了嵌套循环。

for ,while ,do…while均可以作为外层循环和内层循环。

2)实质上,嵌套循环就是把内层循环当成外层循环的循环体。

当只有内层循环的循环条件为false时,才会完全跳出内层循环,才可结束外层的当次循环,开始下一次的循环

3)设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n=mn次

4)始终把握:外循环控制行,内循环控制列

嵌套循环练习

1)

ea4eceacc225bfd34023b5a7a0f7f31d.png

2)

b8d34af5ad035150fb60227988d35a74.png

3)

7ac12e3495ea206366eb69ed3c9f8a8e.png

注释内的另一种写法也可以

4)图形拆分成上下两部分,可由上两例组合

8f0e38528c5ce6c31169371a2b45526b.png

5)challenging,将空格替换成-便于观察,寻找各行相应符号

出现次数的规律,如下图,再利用外层控制行,内层控制列

81e063caebb3b661dbf85310937d2ee9.png

0a837e54f79d2ef427ff343b9f881d66.png

0de151c5813706e2adc4e767319da755.png

6)九九乘法表,思路同上,外行内列

52949b3cb1581cd0e9ccb9c31d961822.png

找100以内的质数(循环)

关注算法的优化过程,查看程序运行时间方法和设置flag的好处

记得flag在每次循环后要置false

法一(最笨)

0f464902cd86729f0ba025498d4e623e.png

法二

法一方法弊端,如判断8,一旦出现2能整除,则不需继续整除

3,4了,加上break,解决该问题

法三(best)

确定中间线,开根号(注意判断条件有等于号)

95d47e69e83bf306e5daa5285f9304b5.png

一处marginal优化:flag判断方式(由逻辑判断改为取非)

法四

不使用flag,改用标签,节省判断flag的过程

e76d5fd4f9e33660dcbf166d54bb100d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值