for循环里break,continue的差别
continue:for语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句,而是跳到下一个循环入口处执行下一个循环。
例如:
public class Test{
public static void main(String args[]){
int a=0;//统计次数
for(int i=0;i<10;i++) {
if(i%2==0) {
System.out.println("第"+a+"次:"+i);
continue;//退出本次循环,进行下一次
}
a++;
}
System.out.println("a="+a);
}
}
结果
第0次:0
第1次:2
第2次:4
第3次:6
第4次:8
a=5
注掉continue
public class Test{
public static void main(String args[]){
int a=0;//统计次数
for(int i=0;i<10;i++) {
if(i%2==0) {
System.out.println("第"+a+"次:"+i);
// continue;//退出本次循环,进行下一次
}
a++;
}
System.out.println("a="+a);
}
}
结果
第0次:0
第2次:2
第4次:4
第6次:6
第8次:8
a=10
break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句)
public class Test{
public static void main(String args[]){
int a=0;//统计次数
for(int i=1;i<10;i++) {
if(i%2==0) {
System.out.println("第"+a+"次:"+i);break;
}
a++;
}
System.out.println("a="+a);
}
}
结果
第1次:2
a=1
for循环 i=1时,i%2不等于0,所以不执行if语句中的输出语句,a自加1等于1,i++;
i=2时,i%2等于0,执行输出语句 输出“第1次:2”,在break跳出for循环,执行System.out.println(“a=”+a);
程序结束。