循环结构分两大类,一类是当型,一类是直到型。

  • 当型:

当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。先判断后执行

  • 直到型:

先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。先执行后判断

while 循环

image.png

  1. 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
  2. 语句中应有使循环趋向于结束的语句,否则会出现无限循环–––”死”循环

do-while循环
image.png
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。

  1. public class WhileTest {
  2. public static void main(String[] args) {
  3. int sum=0;
  4. int i=0;
  5. //计算0到100的和
  6. // while(i<=100){
  7. // sum+=i;
  8. // i++;
  9. // }
  10. //求0到100偶数之和
  11. while(i<=100){
  12. if(i%2==0){
  13. sum+=i;
  14. i++;
  15. }else{
  16. i++;
  17. }
  18. }
  19. System.out.println("0到100的**和为:"+sum);
  20. }
  21. }

for 循环

image.png
for (初始表达式; 布尔表达式; 迭代因子) {
循环体;
}

  • 初始化部分设置:循环变量的初值
  • 条件判断部分为:布尔表达式(这个布尔判断目的意在限制范围)
  • 迭代因子:控制循环变量的增减 ```java public class ForTest { public static void main(String[] args) {

      //求0到100之和
      int sum=0;
    

    // for(int i=0;i<=100;i++){ // sum+=i; // } // System.out.println(“和为:”+sum);

      //无限死循环,类似 while(true)
      for(;;){
          System.out.println("我爱世界,我爱java");
      }
    
      //求0到100偶数和
      for(int i=0;i<=100;i++){
          if(i%2==0){
              sum+=i;
          }
      }
      System.out.println("偶数和为:"+sum);
    

    } }

<a name="akfNW"></a>
# 嵌套循环
```java
for(int i=1;i<=5;i++){
      for(int j=1;j<=5;j++){
          System.out.print(i);
      }
      System.out.println("\n");
}
//九九乘法表
for(int i=1;i<=9;i++){
            for(int k=1;k<=i;k++){
                System.out.print(i+"*"+k+"="+(i*k<10?(" "+i*k):i*k)+"\t");
            }
            System.out.println();
        }