for循环和while循环的区别

2019-08-16 09:55:59来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

for循环和while循环的区别

 

for循环和while循环的区别
  使用区别:如果你想在循环结束后,继续使用控制条件的那个变量,用while循环,

       否则用for循环。不知道用for循环。
       因为变量及早的从内存中消失,可以提高内存的使用效率。

  其实还有一种场景的理解:
    如果是一个范围的,用for循环非常明确。
    如果是不明确要做多少次,用while循环较为合适。
    举例:吃葡萄。

优先考虑for,其次考虑while,最后考虑do...while

class WhileVsForDemo {
    public static void main(String[] args) {
        //for循环实现
        for(int x=0; x<10; x++) {
            System.out.println("我爱Java");
        }
        //这里不能在继续访问了
        //System.out.println(x);
        
        //while循环实现
        int y = 0;
        while(y<10) {
            System.out.println("我爱Java");
            y++;
        }
        //这里是可以继续访问的
        System.out.println(y);
    }
} 

 

/*
    循环语句的区别:
        do...while循环至少执行一次循环体。
        而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句。
*/
class DoWhileDemo {
    public static void main(String[] args) {
        int x = 3;
        while(x < 3) {
            System.out.println("我爱Java");//不会被执行
            x++;
        }
        
        System.out.println("--------------");
        
        int y = 3;
        do {
            System.out.println("我爱Java");//执行一次
            y++;
        }while(y < 3);
    }
}

 

WhileDemo:

  需求:小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
    每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
    请问,经过多少天,小芳才可以存到100元钱。

  分析:(分解问题,降低难度)
    A:小芳的妈妈每天给她2.5元钱
      double dayMoney = 2.5;
    B:她都会存起来
      double daySum = 0;
    C:从第一天开始存储
      int dayCount = 1;
    D:经过多少天,小芳才可以存到100元钱。
      double result = 100;
    E:这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
      说明要判断dayCount的值,如果对5整除就减去6元钱。
        daySum -= 6;
      由此还隐含了一个问题,就是如果不是5的倍数天的话,钱要累加
        daySum += dayMoney;
    F:因为不知道是多少天,所以我用死循环while语句,

      一旦超过100元我就退出循环。

class WhileDemo {
    public static void main(String[] args) {
        //每天要存储的钱是2.5元
        double dayMoney = 2.5;
        
        //存钱的初始化值是0
        double daySum = 0;
        
        //从第一天开始存储
        int dayCount = 1;
        
        //最终存储不小于100就不存储了
        int result = 100;
        
        //因为不知道是多少天,所以我用死循环,
        while(true) {
            //累加钱
            daySum += dayMoney;
            
            //一旦超过100元我就退出循环。
            if(daySum >= result) {
                System.out.println("共花了"+dayCount+"天存储了100元");
                break;//满足条件即跳出死循环
            }
            
            if(dayCount%5 == 0) {
                //花去6元钱
                daySum -= 6;
                System.out.println("第"+dayCount+"天花了6元钱");
            }
            
            //天数变化
            dayCount++;
        }
    }

 


原文链接:https://www.cnblogs.com/frank-me/p/11148124.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Spring Boot2(九):整合Jpa的基本使用

下一篇:Linux 中 IDEA 不能调试(Debug)项目