Java 循环

一、引言
    循环是用来控制语句块重复执行的一种结构。
    Java提供了三种类型的循环语句:while循环、do-while循环和for循环
二、while循环
    while循环的语法如下:
        while(循环继续条件) {
            // 循环体
            语句(组);
        }
    循环体:循环中包含的重复执行的语句部分称为循环体。
    循环继续条件:循环继续条件是一个布尔表达式,控制循环体的执行。
    计数器控制的循环:使用一个控制变量count来对执行次数计数。这种类型的循环称为计数器控制的循环。
    注意:
        循环体,只有当循环体值包含一条语句或不包含语句时,循环体的花括号才可以省略;
        循环继续条件,循环继续条件应该总是放在圆括号内。
    警告:
        无限循环:由于循环继续条件出错而使程序不能结束。
    1、举例:猜数字
    2、循环设计策略
        1)确定需要重复的语句;
        2)将这些语句放在一个循环中;
            while(true) {
                语句组;
            }
        3)为循环继续条件编码,并为控制循环添加适合的语句。
            while(循环继续条件) {
                语句组;
                用于控制循环的附加语句;
            }
    3、问题:高级数学学习工具
    4、使用标志值控制循环
        标志位控制的循环:如果一个循环使用标志值来控制它的执行,它就称为标志位控制的循环(sentinel-controlled loop)。
        警告:
            在循环控制中,不要使用浮点值来比较值是否相等。
    5、输入和输出重定向
        输入重定向命令:
            java ClassName < inputFileName.txt
        输出重定向命令:
            java ClassName > outputFileName.txt
        同时输入输出重定向:
            java ClassName < inputFileName.txt > outputFileName.
三、do-while循环
    do {
        // 循环体;
        语句组;
    } while(循环继续条件);
    while循环和do-while循环的差别:
        while循环和do-while循环的差在于:计算循环继续条件和执行循环体的先后顺序不同。
四、for循环
    for循环的语法:
        for(初始操作; 循环继续条件; 每次迭代后的操作) {
            // 循环体;
            语句(组);
        }
    for循环的流程:
       ?初始动作?循环继续条件-为真?语句(组)(循环体)?每次迭代后的动作?初始动作
                                                    ?为假?结束
        for循环只执行初始动作一次,当循环继续条件为真时,重复执行循环体中的语句,然后完成每次迭代后的操作。
        for循环语句从关键字for开始,然后是用双括号扩住的循环控制结构体。这个结构体包括初始动作、循环继续条件和每次迭代后的动作。
        初始动作、循环继续条件和每次迭代后的动作都要用分号分隔。控制结构体后紧跟着花括号括起来的循环体,若循环体内只有一条语句,则可以省略花括号。
        控制变量的值应该使循环继续条件变为false,否则循环将成为无限循环。
    提示:
        如果循环控制变量只在循环体内使用而不在其他地方使用,那么在for循环的初始动作中声明它是一个很好的编程习惯。
    注意:
        for循环中的初始动作可以是0个或是多个以逗号隔开的变量声明语句或赋值表达式。
        for循环中每次迭代后的动作可以是0个或多个以逗号隔开的语句。
        如果省略for循环中的的循环继续条件,则隐含地认为循环继续条件为true。
        for( ; ; ) { } == for( ; true; ) { } == while(true) { } 第三中方式比较好。
五、采用哪种循环
    预测试循环和后测试循环:
        while循环和for循环都称为预测试循环(pretest loop),因为继续条件是在循环体执行之前检测的,
        do-while循环称为后测试循环(posttest loop),因为循环条件是在循环体执行之后检测的。
    采用哪种循环:
        建议使用自己觉得最自然、最舒服的一种循环语句。通常,如果已经提前知道重复次数,那就采用for循环。
        如果在检测继续条件前需要执行循环体,就用do-while循环代替while循环。
    警告:
        在for子句的末尾和循环体之间多写分号是一个常见的错误。通常在使用次行块格式时容易发生这些错误。使用行尾块风格可以避免这种类型的错误。
        在do-while循环中,需要分号来结束这个循环。
七、最小化数值误差
    计算机使用固定位数表示浮点数,因此,不能精确表示某些浮点数。
    double > float
    为了解决浮点数是用近似值表示的,循环中使用整数计数器以确保所有数字都被加到sum中。
    从大到小添加数字没有从小到大添加数字得到的值精确。这种现象是有限精度算术的产物。
    为了得到更精确的结果,仔细选择计算的顺序,在大数之前先增加小数是减少误差的一种方法。
八、实例学习
    1、求最大公约数
    2、预测未来学费
    3、蒙特卡罗模拟
九、关键字break和continue
    关键字break和continue都可以在循环语句中使用。
    break:
        你已经在switch语句中使用过关键字break;你也可以在一个循环中使用break立即终止该循环。
    continue:
        也可以在循环中使用关键字continue。当程序遇到continue时,它会结束当前的迭代。程序控制转向该循环体的末尾。
    break和continue的区别:
        break跳出了整个循环,continue只是跳出了一次迭代。
    注意:
        continue语句总是在一个循环内。在while和do-while循环中,continue语句之后会马上计算循环继续条件;
        而在for循环中,continue语句之后会立即先执行每次迭代后的动作,再计算循环继续条件。
        使用break语句可以使程序更简单更易读。但是,应该谨慎使用break和continue。过多使用break和continue会使循环有很多退出点,使程序很难阅读。
        问题:显示素数
十、(GUI)使用确认对话框控制循环
    showInputDialog接收输入;
    showConfirmDialog控制循环;
    showMessageDialog显示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值