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=1−1/3+1/5−1/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使用,在满足条件时,结束本次循环