Java循环结构

Java的循环结构要相对于Java的顺序结构来说明。程序的运行时由上到下的顺序结构,但是有的程序需要特殊的处理,其不止需要执行一次,这样就需要使用到循环结构。
Java循环结构:
Java循环结构包括三种:for循环 while循环及do...while循环
for循环及增强否for循环:
for循环的语法格式如下:
for(初始化;布尔表达式;更新运算){

    //代码语句
}

for循环的工作原理是这样的:
首先执行初始化步骤,初始化是为了得到一个判定条件的值,用于后面的布尔表达式
接着使用前面初始化的值在布尔表达式里面进行比较,如果布尔表达式的结果是真,那么就执行代码语句,代码语句执行完成后,执行更新运算,这里更新的是前面初始化的那个值,然后在进行布尔表达式的运算,如此循环,直到布尔表达式运算结果为假,则跳出循环.

class circilationToFor {
   public static void main(String[] args) {
       int i;//声明一个int变量 当然你也可以在for()里面进行声明和初始化
       for (i = 0; i < 10; i++) {
           System.out.println("是否 "+i+" <10 ? :"  + (i < 10) + "  本次循环的i值为: " + i);
       }
       System.out.println("是否 "+i+" <10 ? :" + (i < 10) +"  跳出循环的i值为: " + i);
   }
}

输出:
是否 0 <10 ? :true 本次循环的i值为: 0
是否 1 <10 ? :true 本次循环的i值为: 1
是否 2 <10 ? :true 本次循环的i值为: 2
是否 3 <10 ? :true 本次循环的i值为: 3
是否 4 <10 ? :true 本次循环的i值为: 4
是否 5 <10 ? :true 本次循环的i值为: 5
是否 6 <10 ? :true 本次循环的i值为: 6
是否 7 <10 ? :true 本次循环的i值为: 7
是否 8 <10 ? :true 本次循环的i值为: 8
是否 9 <10 ? :true 本次循环的i值为: 9
是否 10 <10 ? :false 跳出循环的i值为: 10

说道for循环就不得不提一下增强for循环:
增强for循环是由Java5开始引入的,增强for循环是用于数组类型,格式如下:
for(声明语句 : 表达式)
{
//代码句子
}
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

class CircilationToEnhanceFor {
    public static void main(String[] args) {
        int[] i = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
        //增强for循环的写法
        for (int value : i) {
            System.out.println("增强for循环遍历的i数组本次值为: "+value);
        }
        System.out.println("===================我是分割线===================");
        //一般for循环的写法
        for(int a = 0;a<i.length;a++){
            int value = i[a];
            System.out.println("普通for循环遍历的i数组本次值为: "+value);
        }
    }
}

输出:
增强for循环遍历的i数组本次值为: 1
增强for循环遍历的i数组本次值为: 2
增强for循环遍历的i数组本次值为: 3
增强for循环遍历的i数组本次值为: 4
增强for循环遍历的i数组本次值为: 5
增强for循环遍历的i数组本次值为: 6
增强for循环遍历的i数组本次值为: 7
增强for循环遍历的i数组本次值为: 8
增强for循环遍历的i数组本次值为: 9
增强for循环遍历的i数组本次值为: 0
===================我是分割线===================
普通for循环遍历的i数组本次值为: 1
普通for循环遍历的i数组本次值为: 2
普通for循环遍历的i数组本次值为: 3
普通for循环遍历的i数组本次值为: 4
普通for循环遍历的i数组本次值为: 5
普通for循环遍历的i数组本次值为: 6
普通for循环遍历的i数组本次值为: 7
普通for循环遍历的i数组本次值为: 8
普通for循环遍历的i数组本次值为: 9
普通for循环遍历的i数组本次值为: 0

其结果是一样的,但是对于foreach来说更加的方便.

while循环:
while是一种很简单的循环结构:
while( 布尔表达式 ) {
//循环内容
}
只要布尔表达式的计算结果为真,则会进入循环内容,循环内容结束后继续检查布尔表达式,如此重复,知道布尔表达式输出假.

class CircilationToWhile {
    public static void main(String[] args) {
        byte i = 0;
        while(i<10) {
            System.out.println("(i<10) ? "+(i<10)+ "   while循环内容为: " +i);
            i++;
        }
        //当(i<10)为fals时跳出循环.
        System.out.println("(i<10) ? "+(i<10)+ "   i=  " +i);
    }
}

输出:
(i<10) ? true while循环内容为: 1
(i<10) ? true while循环内容为: 2
(i<10) ? true while循环内容为: 3
(i<10) ? true while循环内容为: 4
(i<10) ? true while循环内容为: 5
(i<10) ? true while循环内容为: 6
(i<10) ? true while循环内容为: 7
(i<10) ? true while循环内容为: 8
(i<10) ? true while循环内容为: 9
(i<10) ? false i= 10

do…while 循环
do…while 循环循环与while循环唯一不同的地方在于,无论如何do…while 循环都会干一次! 对,无论怎样都会干一次的.干了再说

class CircilationToDoWhile {
    public static void main(String[] args) {
        byte i = 10;
        do {
            //无论如何都会干一次的,无论你原本不愿意还是愿意
            System.out.println("(i<10) ? " + (i < 10) + "   i= " + i);
            i++;
        } while (i < 10);
        //当(i<10)为fals时跳出循环.
        System.out.println("(i<10) ? "+(i<10)+ "   i=  " +i);
    }
}

输出:
(i<10) ? false i= 10
(i<10) ? false i= 11

循环讲完了我们需要老认识一下控制循环的两个Java关键字
break:
break的作用是跳出循环

class Control {
    public static void main(String[] args) {
        int i;
        //一层for循环
        for (i = 0; i < 10; i++) {
            System.out.println("还没有执行break,执行到了这里");
            break;
        }
        System.out.println("当输出了↑↑↑以后 ,执行了break,没有进行i++运算,我跳出循环");
    }
}

输出:
还没有执行break,执行到了这里
当输出了↑↑↑以后 ,执行了break,没有进行i++运算,我跳出循环

class Control1 {
    public static void main(String[] args) {


        //多层循环
        int a;
        int c;
        for (a = 0; a < 10; a++) {
            System.out.println("第" + a + "次外层for循环===========");
            for (c = 0; c < 10; c++) {
                System.out.println("        第" + c + "次里层for循环 跳出!");
                break;//brake语句只是会结束他所在的循环体
            }
        }
    }
}

输出:
第0次外层for循环===========

    第0次里层for循环 跳出!

第1次外层for循环===========

    第0次里层for循环 跳出!

第2次外层for循环===========

    第0次里层for循环 跳出!

第3次外层for循环===========

    第0次里层for循环 跳出!

第4次外层for循环===========

    第0次里层for循环 跳出!

第5次外层for循环===========

    第0次里层for循环 跳出!

第6次外层for循环===========

    第0次里层for循环 跳出!

第7次外层for循环===========

    第0次里层for循环 跳出!

第8次外层for循环===========

    第0次里层for循环 跳出!

第9次外层for循环===========

    第0次里层for循环 跳出!
class Contro2 {
    public static void main(String[] args) {
        int d;
        int e;
        for (d=0;d<10;d++){
            System.out.println("第" + d + "次外层for循环===========");
            for(e=0;e<10;e++){
                System.out.println("        第"+e+"次里层for循环");
                break;//brake语句只是会结束他所在的循环体
            }
            break;
        }
    }
}

输出:
第0次外层for循环===========

    第0次里层for循环

continue 关键字
continue 关键字是标识结本次循环,进入下一次循环,

class Contro3{
    public static void main(String[] args) {
        int i;
        for (i=0;i<10;i++){
            System.out.println(i+ "  本循环不输出下一个语句.");
            continue;
        }
    }

输出:
0 本循环不输出下一个语句.
1 本循环不输出下一个语句.
2 本循环不输出下一个语句.
3 本循环不输出下一个语句.
4 本循环不输出下一个语句.
5 本循环不输出下一个语句.
6 本循环不输出下一个语句.
7 本循环不输出下一个语句.
8 本循环不输出下一个语句.
9 本循环不输出下一个语句.

在Java中很多地方都用得到循环结构,可以结合使用它们.
循环先这样吧,后面和数组,集合在配合描述.

上一篇:可选颜色调色及原理详解


下一篇:Java入门系列-09-循环结构