for循环

for循环

  • 与while循环比较
package com.bk201.struct;

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

        int a = 0;        //初始化值
        while(a<=100){    //条件判断
            System.out.println(a);
            a=a+2;        //迭代
        }
            System.out.println("while循环结束");
        //初始化值//条件判断//迭代
        for (int i=0;i<=100;i++){

            System.out.println(i);

        }
            System.out.println("for循环结束");

        /*
        关于for循环的几点声明

        最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
        接着检测布尔表达式的值。如果是true,则执行循环体,如果是false,则循环中止,开始执行循环体后面的语句。
        执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减,也就是迭代的式子来控制)。
        再次检测布尔表达式。循环执行上述过程。

         */

    }
}
  • 快捷输入:直接输入100.for后回车,自动生成代码。
for (int i=0;i<=100;i++) //100.for
  • 死循环
    //死循环//可行
    for (; ;){

    }

案例一

package com.bk201.struct;

public class ForDemo02 {
    public static void main(String[] args) {
        //计算0~100之间奇数和偶数之和
        int oddnum = 0;
        int evennum = 0;
        for (int i = 0; i <= 100; i++) {
            if(i%2==0){
                oddnum+=i;
            }else {
                evennum+=i;
            }
        }
        System.out.println("偶数的和:"+oddnum);
        System.out.println("奇数的和:"+evennum);

    }
}

输出结果:

案例二

package com.bk201.struct;

public class ForDemo03 {
    public static void main(String[] args) {
        //用while或for语句循环输出1~1000中能被5整除的数,并且每行输出3个
        for (int i = 0; i <= 1000; i++) {
            if(i%5==0){
                System.out.print(i+"\t");
            }
            if(i%15==0){
                System.out.println();
                //System.out.print("\n");
            }
            //println 输出完会换行
            //print   输出完不会换行
        }

    }
}

输出结果(图不全):

案例三

package com.bk201.struct;

public class ForDemo04 {
    public static void main(String[] args) {
        //打印9x9乘法表
        //先打印出第一列
        //把固定的1再用一个循环包起来
        //去除重复项,通过 j <= i 来实现
        //调整样式

        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+(j*i)+"\t");
            }
            System.out.println();
        }
    }
}

输出结果:

增强for循环

  • 用于数组或集合的循环

package com.bk201.struct;

public class ForDemo05 {
    public static void main(String[] args) {
        int[] number = {10,20,30,40,50};    //定义数组

        for(int i = 0;i<5;i++){        //正常for语句

            System.out.println(number[i]);

        }
        System.out.println("==============");
        //遍历数组元素
        for(int x:number){             //增强for语句

            System.out.println(x);
        }
    }
}

输出结果一致

  • 声明新的变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

  • 表表达式是要访问的数组名,或是返回值为数组的方法。

posted @ 2021-03-10 19:46  一口不多  阅读(67)  评论(0)    收藏  举报