1.3 J2SE之Java基础

循环语句的四个组成部分


1)初始化部分(init_statement)
2)循环条件部分(test_exp)
3)循环体部分(body_statement)

4)迭代部分(alter_statement)


循环语句分类


1)for 循环


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




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


思想:体会循环过程


练习


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.取出个十百位


2)while 循环(包含循环四要素)


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



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


3)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次




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

1)


2)



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



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



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

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





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



7)找100以内的质数


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


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


法1(最笨):



法二:

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

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


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




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


法四:

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






猜你喜欢

转载自blog.csdn.net/lwz45698752/article/details/80276988
1.3