二、while、do...while、for、增强型for

while

  • while是最基本的循环,它的结构为:

    while(布尔表达式){
        //循环内容跟
    }
    
  • 只要布尔表达式为true,循环就会一直执行下去

  • 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的条件来结束循环

  • 少部分情况需要循环一直执行,比如服务器的请求响应监听

package com.ling.java基础;

import java.util.Scanner;

public class Hello {
    public static void main(String[] args) {
        int num = 1;
        int sum = 0;
        while (num<=100){
            sum+=num;
            num++;//停止条件
        }
        System.out.println(sum);
    }
}

do...while循环

  • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

  • do...while循环和while循环相似,不同的是,do...while循环至少会执行一次

  • do{
        //代码语句
    }while(布尔表达式);
    
  • 区别在于

    • while先判断后执行,do...while先执行后判断
    • do..while总是保证循环体会被至少执行一次!这是他们的主要差别
package com.ling.java基础;

import java.util.Scanner;

public class Hello {
    public static void main(String[] args) {
        int num = 1;
        int sum = 0;
        do {
            sum+=num;
            num++;
        }while(num<=100);
        System.out.println(sum);
    }
}

for循环

  • for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构

  • for循环执行的次数是在执行前就确定的。语法格式如下:

    for(初始化;布尔表达式;迭代){
        //代码语句
    }
    
  • 可以用100.for来快捷生成for循环(相当于for(int i=1;i<=100;i++))

  • 这个也代表是一个死循环

  • for(;;){}
    
  • 例题:九九乘法表

package com.ling.java基础;

import java.util.Scanner;

public class Hello<or> {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int i1 = 1; i1 <= i; i1++) {
                System.out.print(""+i+"x"+i1+"="+(i*i1)+"\t");
            }
            System.out.println();
        }
    }
}

增强for循环

  • 是一种主要用于数组或集合的增强型for循环

  • 快捷键是:表达式.for

  • 语法格式如下:

    for(声明语句:表达式){
        //代码语句
    }
    
    • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其他作用域限定在循环语句块,其值与此时数组元素的值相等
    • 表达式:表达式是要访问的数组名,或者是返回值为数组的方法
    package com.ling.java基础;
    
    import java.util.Scanner;
    
    public class Hello<or> {
        public static void main(String[] args) {
            int[] number = {1,2,3,4,5};
            for(int x:number){
                System.out.println(x);
            }
        }
    
    }
    
    
    • java中数组的定义用{}来进行定义
    • 与普通的for不同,中将用的是 : 进行分割

break、continue

  • break是跳出循环,break以后的语句都不执行。可以用于switch里面
  • continue是跳出本次循环,本次循环不进行continue以后的语句,直接进行下一次循环
package com.ling.java基础;

import java.util.Scanner;

public class Hello<or> {
    public static void main(String[] args) {
        for (int i = 0; i <= 5; i++) {
            if (i == 3) {
                break;
            }
            System.out.print(i + "\t");
        }
        System.out.println();
        for (int j = 0; j <= 5; j++) {
            if (j == 3) {
                continue;
            }
            System.out.print(j + "\t");
        }
    }

}

continue和标签

  • 有时候我们需要跳出更上一层的循环,如果我们直接用continue那么就会比较麻烦,这时候我们就可以用标签对要进行跳出循环后开始的循环进行标记。

  • package com.ling.java基础;
    
    import java.util.Scanner;
    
    public class Hello<or> {
        public static void main(String[] args) {
            ou:for (int i=101;i<150;i++){ //这里对这一层循环做出了标记
                for (int j=2;j<=(i/2);j++){
                    if(i%j==0){
                        continue ou;//返回到ou标记的循环
                    }
                }
                System.out.print(i+"\t");
            }
    
        }
    
    
    }
    
posted @ 2021-03-12 23:15  煎蛋真的是太美味了  阅读(113)  评论(0)    收藏  举报