day13 do..while循环及for循环

do...while循环

  • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
  • do...while循环和while循环相似,不同的是,do...while循环至少执行一次。
do{
    //代码语句
}while(布尔表达式);
  • while和do...while的区别:
    • while先判断后执行。do...while是先执行后判断!
    • do...while总是保证循环体会被至少执行一次!这是他们的主要差别。

例:

package com.wangchuan.struct;

public class DoWhileDemo01 {
    public static void main(String[] args) {
        int i = 1;
        int sum = 0;

        do{
            sum = sum + i;
            i++;
        }while (i <= 100);

        System.out.println(sum);
    }
}

package com.wangchuan.struct;

public class DoWhileDemo02 {
    public static void main(String[] args) {
        int a = 0;
        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("---------------------------------");
        do{
            System.out.println(a);
            a++;
        }while (a<0);
    }
}

For循环

  • 虽然所有循环结构都可以用while或者do...while表示,但Java提供了另一种语句——for循环,使一些循环结构变得更加简单。
  • for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
  • for循环执行的次数是在执行前就确定的。语法格式如下:
for(初始化;布尔表达式;更新){
    //代码语句
}
  • 练习1:计算0到100之间的基数和偶数的和
package com.wangchuan.struct;

public class ForDemo02 {
    public static void main(String[] args) {
        //练习1:计算0到100之间的基数和偶数的和
        int oddsum = 0;
        int evensum = 0;

        for (int i = 1; i <= 100; i++) {
            if(i%2 == 0){
                evensum+=i;
            }else{
                oddsum+=i;
            }

        }
        System.out.println("偶数和为"+evensum);
        System.out.println("奇数和为"+oddsum);
    }
}

  • 练习2:用while或for循环输出1-100011之间能被5整除的数,并且每行输出3个
package com.wangchuan.struct;

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

            }
        }

        //println输出完全换行
        //print输出不会换行

    }
}

  • 练习3:打印九九乘法表
package com.wangchuan.struct;

public class ForDemo04 {
    public static void main(String[] args) {
        //打印九九乘法表
        for (int i = 1; i <= 9; i++) {
            for (int i1 = 1; i1 <= i; i1++) {
                System.out.print((i1+"*"+i+"="+(i*i1))+"\t");
                if(i==i1){
                    System.out.println();

                }

            }

        }


    }
}

posted @ 2021-03-08 22:34  圈圈子  阅读(66)  评论(0)    收藏  举报