Java(六)

while循环

while结构

while(判断条件){

  ....循环语句...

}

while循环先判断条件,因此有可能一次循环都不做,如果判断结果为false,则直接跳到while结尾处。

要避免while死循环,Java Int 最大值后在加1会变成负数。

练习:计算从m到n的和

public class Test {
    public static void main(String[] args){
        int sum = 0;
        int m = 20;
        int n = 100;
        //使用while计算m+...+n
        while (m <= n){
            sum =sum + m;
            m++;
        }
        System.out.println(sum);
    }
}

do while循环

do while 循环至少会循环一次

do{

  执行循环语句

}while(条件表达式);

用do while 改写m+...+n的和

public class Test {
    public static void main(String[] args){
        int sum = 0;
        int m = 20;
        int n = 100;
        //使用do while计算m+...+n
        do {
            sum = sum + m;
            m++;
        }while (m <= n);
        System.out.println(sum);
    }
}

for 循环

for(初始化语句;循环检测条件;循环后更新技术器){

  //执行语句

}

for循环实现 对一个整型数组所有元求和

public class Test {
    public static void main(String[] args){
        int[] arr = {1, 4, 9, 16, 25};
        int sum = 0;
        for (int i = 0; i < arr.length; i++){
            sum = sum + arr[i];
        }
        System.out.println(sum);
    }
}

for each循环

for each 可以用来遍历数组

public class Test {
    public static void main(String[] args){
        int[] arr = {1, 4, 9, 16, 25};
        for (int n: arr) {
            System.out.println(n);
        }
    }
}

for each 循环无法指定遍历顺序,也无法获取数组的索引,for each 可以遍历所有"可迭代"的数据类型。

练习:给定一个数组,请用for循环倒叙输出每一个元素:

public class Test {
    public static void main(String[] args){
        int[] arr = {1, 4, 9, 16, 25};
        for (int i = arr.length - 1; i >= 0; i--){
            System.out.println(arr[i]);
        }
    }
}

练习:用for each 循环对数组每个元素求和:

public class Test {
    public static void main(String[] args){
        int[] arr = {1, 4, 9, 16, 25};
        int sum = 0;
        for (int n : arr
             ) {
            sum = sum + n;
        }
        System.out.println(sum);
    }
}

练习:圆周率可以使用一下公式计算:

  π/4=11/3+1/51/7+1/9

  请利用for循环计算π:

public class Test {
    public static void main(String[] args){
        double pi = 0;
        for (int i = 0; i <= 1000;i ++){
            pi = pi+ 4/(Math.pow(-1,i)*(2*i+1));
        }
        System.out.println(pi);
    }
}

break和continue

break :跳出当前循环

break语句通常配合if使用,在满足条件时,结束整个循环;

continue可以提前结束本次循环

continue通常配合if使用,在满足条件时,结束本次循环

 

posted @ 2021-03-08 17:00  小小日常  阅读(89)  评论(0编辑  收藏  举报