流程控制--循环结构
1、while循环
结构:while(布尔表达式){ 循环内容 }
例:
public static void main(String[] args){
int i = 1;
while(i<=10){
i++;
System.out.println("i的值为:"+i);
}
}
结果输出:
i的值为:2
i的值为:3
i的值为:4
i的值为:5
i的值为:6
i的值为:7
i的值为:8
i的值为:9
i的值为:10
i的值为:11
2、do...while循环
结构:do{
//要循环的语句
}while(布尔表达式);
注意:对于while语句,布尔表达式为false就不执行循环语句,但do...while循环语句,即使不满足条件也会执行一次。(至少会执行一次)。当while()内的布尔表达式为false时循环语句会再执行一次结束循环;
例:
public static void main(String[] args){
int i = 1;
do{
i++;
System.out.println("i的值为:"+i);
}while(i<5);
}
结果输出:
i的值为:2
i的值为:3
i的值为:4
i的值为:5
3、for循环
结构:for(初始化 ; 布尔表达式 ;更新){
//循环语句
}
注意:
最先执行初始化,可以声明一种类型,可以初始化一个或多个循环控制变量,也可以是空语句。
检测布尔表达式,为true执行循环语句,false不执行。
循环一次后,循环控制变量更新。
例:
public static void main(String[] args){
for(int j=0,i=0; j<5;j++){
i=j;
System.out.println("i的值为:"+i);
}
}
结果输出:
i的值为:0
i的值为:1
i的值为:2
i的值为:3
i的值为:4
4、foreach循环
结构:for(声明语句:表达式){
//循环语句
}
注意:
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。
例:public static void main(String args[]){
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
System.out.print("\n");
String [] names ={"James", "Larry", "Tom", "Lacy"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
结构输出:
10,20,30,40,50,
James,Larry,Tom,Lacy,
注意:
break语句的作用:
1、只能在循环体内和switch语句体内使用break语句。
2、当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
3、当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
4、在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。
continue语句作用:
1、continue语句一般形式为:contonue;
2、其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
3、注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分,然后决定是否继续进行。
4、在for循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,最后根据“表达式2”的值来决定for循环是否执行。循环体内,不论continue是作为何种语言的语句成分,都按上述功能执行,这点与bresk有所不同。
标签:
例:
public static void main(String args[]){
int i = 2;
a: switch(i){
case 1:
System.out.println(i);
case 2:
System.out.println(i);
break a;
}
}
结果输出:2