zoukankan      html  css  js  c++  java
  • 章节四、3-While循环-DoWhile语句

    一、while死循环

    package introduction5;
    
    public class WhileDemo {
    
        public static void main(String[] args) {
        int i = 10;
        //“死循环”
        //1、永远满足该条件
        while(i<21) {
            System.out.println(i);
        }
      //如果运行此程序,命令会一直执行方式一并循环,永远无法运行下面的代码
    //2、直接将结果写在条件中 while(true) { System.out.println(i); } } }

    结果:

    一直循环打印“10”

    注意:这里仅仅是演示死循环的两种方式,如果在此段代码中把方式一写在方式二后面,在eclipse中未运行编译前就会报错,因为方式二中条件永远为true,无法像方式一中一样能够改变条件变量的值,所以如果按照如下方式放置代码,eclipse会提示“Unreachable code”(代码不可达);

    二、关键字:

    break:如果满足某一个条件,就结束整个while循环,不再执行该循环。

    package introduction5;
    
    public class WhileDemo {
    
        public static void main(String[] args) {
        int i = 10;
        while(i<20) {
            if(i==17) {
                break;
            }
            System.out.println(i);
        /*i++表示下一次循环时加+,效果等同于“i+1”,
        *打印时第一次结果为“10”,
        *第二次为“11”,
        *直到打印出“20”后循环停止。
        */
            i++;
        }
        System.out.println("循环外....");
        }
    }

    结果为:

    continue:如果满足某一个条件,只结束本次满足该条件的循环,继续下一轮的循环。

    package introduction5;
    
    public class WhileDemo {
    
        public static void main(String[] args) {
        int i = 10;
        while(i<20) {
            if(i==17) {
                continue;
            }
            System.out.println(i);
        /*i++表示下一次循环时加+,效果等同于“i+1”,
        *打印时第一次结果为“10”,
        *第二次为“11”,
        *直到打印出“20”后循环停止。
        */
            i++;
        }
        System.out.println("循环外....");
        }
    }

    结果:

    注意:使用continue后,图片标识处一直处于红色状态(红色表正在执行命令,灰色标识命令执行完成),后面的打印语句“循环外。。。。”也一直没有打印,说明程序一直处于执行中无法真正结束,出现这种情况主要是因为当程序循环到“i=17”时,跳过了while后面打印“i”的命令,重新进入了下一轮循环,然后判断“i<20”是否成立,成立后继续比较“i==17”,该条件成立后又继续跳过打印“i”的命令,继续进入了下一轮的循环当中,然后一直处于判断“i==17”的循环中,这样导致while循环外的打印语句“循环外。。。”也一直无法执行,最终导致了程序一直处于运行中无法结束,相当与已经进入了死循环。

    如果我们把打印“i”的语句放到if判断语句前面则不会出现这种情况:

    package introduction5;
    
    public class WhileDemo {
    
        public static void main(String[] args) {
        int i = 10;
        while(i<20) {
            System.out.println(i);
            /*i++表示下一次循环时加+,效果等同于“i+1”,
            *打印时第一次结果为“10”,
            *第二次为“11”,
            *直到打印出“20”后循环停止。
            */
                i++;
            if(i==17) {
                continue;
            }
        }
        System.out.println("循环外....");
        }
    }

    结果为:

    可能有些人会疑问,为什么这里打印了17?

    当循环到16时,打印了16,然后i++将i变成了17,变为17后进行if判断,条件成立,continue跳出本次循环,继续进入下一次循环,然后判断i是否小于20(i这个时候值还未自增,仍为17),成立后将i打印带控制台(显示命令执行结果的地方),然后在执行i++自增为18,所以这里会打印17这个值。

    三、do-while:与while不同的地方在于判断条件前会先执行一次循环(while先检查条件后执行语句)。

    package introduction5;
    
    public class WhileDemo {
    
        public static void main(String[] args) {
        int i = 10;
        do {
            System.out.println(i);
            i++;
        }while(i<20);
        }
    }

    打印的结果为:

    现在我们将“i”的值改为20:

    打印结果为:

    由此可见,do-while循环无论条件是否成立都会执行一次,判断成立则继续执行下一轮,否则直接结束。

  • 相关阅读:
    第二冲刺阶段个人博客
    单元测试
    软件工程个人总结
    梦断代码阅读笔记03
    梦断编码阅读笔记02
    梦断代码阅读笔记01
    padding margin
    MVC模式在Java Web应用程序中的实例分析
    小问题
    MVC理解
  • 原文地址:https://www.cnblogs.com/luohuasheng/p/9523366.html
Copyright © 2011-2022 走看看