循环结构

循环结构可以在满足循环条件的情况下,反复执行某段代码,这段被重复执行的代码被称为循环结构。循环语句可能包含如下四个部分

  • 初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化工作,初始化语句在循环开始之前执行
  • 循环条件(text_expression):这是一个布尔表达式,这个表达式能决定是否执行循环体
  • 循环体(body_statement)
  • 迭代语句(iteration_statement):这个部分在一次循环体结束后,对循环体求值之前执行,通常用来控制循环条件中的变量,使得循环在合适的时候结束

while循环语句

语句格式

[init_statement]
while {test_expression} {
    statement;
    [iteration_statement]
}
public class WhileTestTest02 {
    public static void main(String[] arg) {
        int num1 = 1;
        while (num1 < 101) {
            System.out.println(num1);
            num1++;
        }
        System.out.println("--------------");
        int num2 = 2;
        while (num2 < 101) {
            System.out.println(num2);
            num2 += 2;
        }
        System.out.println("--------------");
        int num3 = 100;
        while (num3 < 1000) {
            int a = num3 / 100;
            int b = num3 / 10 % 10;
            int c = num3 % 100 %10;
            int d = a * a * a + b * b * b + c * c * c;
            if (d == num3) {
                System.out.println(num3);
            }
            num3++;
        }
    }
}

do while循环语句

do while循环与while循环区别在于:while循环是先判断循环条件,如果条件为真则执行循环体,而do while循环则先执行循环体,然后在判断循环条件,如果循环条件为真,则执行下一次循环,反之则终止循环
语法格式

[init_statement]
do {
    statement;
    [iteration_statement]
}while {test_expression}
public class DoWhileTest {
    public static void main(String[] args) {
        //定义变量count
        var count = 1;
        //执行do while循环
        do {
            System.out.println(count);
            //循环迭代语句
            count++;
            //循环条件紧跟while关键字
        }while (count < 10);
        System.out.println("循环结束!");
        
    }
}

for循环

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

for (初始条件; 循环检测条件; 循环后更新计数器) {
    // 执行语句
}

案例

public class FoTest02 {
    public static void main(String[] args) {
        //100以内的和
        int count = 0;
        for (int i = 0; i < 101; i++) {
            count += i;
        }
        System.out.println(count);
        System.out.println("------------");

        //100以内偶数的和
        int count2 = 0;
        for (int j = 0; j < 100; j++) {
            j = j + 1;
            count2 += j;
        }
        System.out.println(count2);


    }
}
public class FoTest03 {
    public static void main(String[] args) {
        //打印1000以内的完数
        int count = 0;
        for (int i = 2; i <= 1000; i++) {
            for (int j = 1; j < i; j++) {
                if (i % j == 0) {
                    count += j;
                }
            }
            if (count == i) {
                System.out.println(count);
            }
            count = 0;
        }

        //打印直角三角形
        for (int j = 1; j <= 6; j++) {
            System.out.println();
            for (int n = 6; n >= j; n--) {
                System.out.print("*");
            }
        }
        System.out.print("\n");
        for (int i = 1; i <= 6; i++) {
            System.out.println();
            for (int j = 0; j < i; j++) {
                System.out.print("*");
            }
        }
    }
}
public class ForTest04 {
    public static void main(String[] args) {

        //打印99乘法表
        for (int i = 1; i <= 9; i++) {
            System.out.println("");
            for (int j = 1; j <= i; j++) {
                System.out.print(j+"*"+i+"="+j*i+" ");
            }
        }

        //打印菱长为4的菱形
        for (int i = 0; i <= 3; i++) {
            System.out.println("");
            for (int j = 4; j > i + 1; j--) {
                System.out.print(" ");

            }
            for (int n = 0; n < 2 * i + 1; n++) {
                System.out.print("*");
            }
        }
        for (int i = 0; i < 3; i++) {
            System.out.println("");
            for (int j = 0; j <= i; j++) {
                System.out.print(" ");
            }
            for(int n = 0; n < 5 - 2 * i; n++) {
                System.out.print("*");
            }
        }
    }
}
最后修改:2021 年 07 月 19 日 04 : 34 PM
如果觉得我的文章对你有用,请随意赞赏