在Java5中引入了一种主要用于数组的增强型for循环(foreach)。
while(条件判断语句){ 1 循环体 2 条件控制语句 注意: 如果布尔表达式为 true,且没有条件控制语句, 该循环为死循环,循环会一直执行下去. }
public class Stu_4_4 { public static void main(String[] args) { System.out.println("打印十遍我错了"); int i = 0; while (i < 10){ System.out.println("我错了~"); // 循环体 i++ ; //条件控制 } } }
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次
do{ 1 循环体 2 条件控制语句 }while(条件判断);
public class Stu_4_5 { public static void main(String[] args) { int i = 0; do { System.out.println("你好"); i++; } while (i < 5); } }
for(初始化语句; 条件判断; 条件控制语句){ 循环体 }
关于 for 循环有以下几点说明:
public class Stu_4_3 { public static void main(String[] args) { // 1. 求1-5之和 int sum = 0; for (int i = 1; i <= 5; i++){ sum += i; } System.out.println(sum); // 2. 求1-5偶数和 sum = 0; for (int i = 1; i <= 5; i++){ if(i % 2 == 0){ sum += i; } } System.out.println(sum); } }
//增强for循环: 遍历循环 for(声明语句 : 表达式) { 循环体 }
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
public class Test { public static void main(String args[]){ int [] numbers = {10, 20, 30, 40, 50}; // 遍历循环 numbers数组 for(int x : numbers ){ System.out.print( x ); System.out.print(","); } } }
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 结束当前循环体
public class Stu_4_6 { public static void main(String[] args) { int[] sum = {10, 20 ,1 , 50, 80}; for (int i : sum) { if (i == 1){ break; // 当i = 1 的时, 执行break,结束当前循环体 } System.out.println(i); // 输出: 10 , 20 } } }
continue 适用于任何循环控制结构中。
作用是跳过当前循环, 执行下一次循环
public class Stu_4_7 { public static void main(String[] args) { int[] sum = {10, 20 ,1 , 50, 80}; for (int i : sum) { if (i == 1){ continue; // 当i = 1 的时, 执行continue,跳过当前循环体 } System.out.println(i); // 输出: 10 , 20, 50, 80 } } }