下面我们用一个简单例子说明一下continue与break的区别
public static void main(String[] args) { int i = 0; for (i = 0; i < 10; i++) {//取0-9的数 if(i%2 ==0) continue;//若i为偶数则跳过本次循环,进入下一次循环 i = i+1; if(i==6) break;// 若i=5结束循环,执行循环体以外的语句 } System.out.println(i); }
正在上传…重新上传取消
首先我们先来复习一下for循环的执行步骤:
1.定义变量,赋予变量初始值
2.条件判断,如果为ture,进入循环;如果为false,结束循环。
3.执行循环体语句
4.循环结束,执行i++
下面我们看看上述代码分析:
第一次i == 0 < 10条件成立,进入循环体,i % 2 ==0为真,执行第一个if语句。遇到continue则跳过本次循环(即跳过再循环体中continue之后的语句),进入下一次循环。i++,即i==1;
第二次i == 1 < 10条件成立,进入循环,i % 2 ==0为假,第一个if语句不执行,i = i + 1 =1 + 1=2,即i == 6为假,第二个if语句不执行,进入下一次循环。i++,即i==3;
第三次i == 3 < 10条件成立,进入循环,i % 2 ==0为假,跳过第一个if语句。i = i + 1= 4,即i == 6为假,第二个if语句不执行。返回i++得i=5。
第四次i == 5 < 10条件成立,进入循环,i%2 ==0为假,跳过第一个if语句。i = i + 1 = 6,即i==6为真,执行第二个if语句,遇到break,退出循环,最后输出结果i == 6;
总结,当遇到continue时跳出本次循环,i++仍执行;当遇到break时结束循环,执行循环体以外的语句。