Java——循环结构

  

》while循环语句


while 循环实例图:

                

 不多说,先上例子:

package cn.bdqn;

public class Test {

    public static void main(String[] args) {
        int num=1;
        //循环条件   num<= 10
        while(num<=10){
            System.out.println("第"+num+"次编写代码");
            //迭代语句
            num++;
        }        
    }
}

 结果:

 

从上面可以看出while循环每次循环之前,先对循环条件求值,如果循环条件为true,则运行循环体部分。迭代条件总是位于循环体的最后,因此,只有循环体能成功执行完成,才能执行迭代语句。

在使用while循环时候一定要保证循环条件有变成false的时候,负责这个循环将变成一个死循环。

死循环实例:

package cn.bdqn;

public class Test {

    public static void main(String[] args) {
        int num=1;
        //循环条件   num<= 10
        while(num<=10){
            System.out.println("第"+num+"次编写代码");
            //迭代语句
            //num++;
        }        
    }
}

结果:

 在这段代码当中num的值始终等于1,num<=10 循环条件一直为true,从而导致这个循环条件永远没法结束,就变成了死循环了。


》do  while 循环语句

do while 循环与 while 循环的区别在于:while 先判断循环条件,如果条件为真再执行循环体;而 do while 循环则先执行循环体,在判断条件,如果条件为真,则执行下次循环,否则终止循环。

 do while 循环实例图:

                                                                     

 实例:

public class Test {

    public static void main(String[] args) {
        
        int x=10;
        do{
             System.out.println("value of x : " + x );
             x++;
        }while(x<20);
    }
}

 与 while 循环不同的是,do while 循环的循环条件必须有一个分号,这个分号表明循环结束。

运行代码结果:

 循环条件的值开始就是假,do while循环也会执行循环体。因此,do while 循环的循环体至少执行一次。

下面代码将验证这个结论:

public class Test {

    public static void main(String[] args) {
        
        int x=21;
        do{
             System.out.println("value of x : " + x );
             x++;
        }while(x<20);
    }
}

结果:


》 for循环

for 循环是更加 简洁的循环语句,大部分情况下,for 循环可以代替 while 循环、do while 循环。for 循环的基本语句格式如下:

关于 for 循环有以下几点说明:

》》最先执行表达式1。可以声明一种类型,但可以初始化一个或多个循环控制变量,也可以是空语句。

》》然后检查表达式2的值。如果是 true,循环体被执行。如果为 false,循环终止,开始执行循环体后面的语句。

》》执行一次循环后,更新循环控制变量。

》》再次执行表达式2,循环执行上面的过程。

实例

public class Test {

    public static void main(String[] args) {
        
        for (int i = 0; i < 10; i++) {
            System.out.println("value of x : " + i);
        }
         
    }
}

以上代码执行结果:

容易出现的几种问题:

public static void main(String[] args) {
        
        /*
        for (int i = 0;; i++) { //省略条件判断,陷入了死循环
            System.out.println(i);
        }*/
        
        /*for (; ;) {   //死循环
            System.out.println(1);
        }*/
        
        for (int i = 0; i < 10;) { // 省略了 条件判断迭代变量
            System.out.println(i);
        }
    }

  

原文地址:https://www.cnblogs.com/szj-ang/p/7256805.html