1.3 Java之循环语句

目录

 

循环

for 循环结构

for循环实例

while 循环

do/while 循环

无限循环

嵌套循环结构

嵌套循环练习

找100以内的质数(循环)

法一(最笨)

法二

法三(best)

法四


循环

循环语句的四个组成部分

  1. 初始化部分(init_statement)
  2. 循环条件部分(test_exp)
  3. 循环体部分(body_statement)
  4. 迭代部分(alter_statement)

for 循环结构

for (初始化表达式①; 布尔值测试表达式②⑤⑦; 更改表达式){
             语句或语句块③⑥ ;
     }

 

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

思想:体会循环过程


for循环实例

0)

思想:关注 ==0 判断


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

 

 

 

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


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

 

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


while 循环

包含循环四要素

        [初始化语句]
        while( 布尔值测试表达式){
                    语句或语句块;
            [更改语句;]
        }
 

 

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


do/while 循环

[初始化语句]
        do{
                语句或语句块;
                [更改语句;]
        }while(布尔值测试表达式);
 

 

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


无限循环

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

思想:

  • 考察无限循环,最简单无限循环格式:while(true) , for(;;)
  • 要有break,确保循环终止,NO死循环

 

嵌套循环结构

 

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

 

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

 

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

 

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


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

 

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


嵌套循环练习

1)


2)

 


3)

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


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

 


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

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

 


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

 


找100以内的质数(循环)

 

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

 

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


法一(最笨)

 


法二

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

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


法三(best)

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

 

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


法四

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

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值