(注意:只能用在循环中,条件判断是不可以滴~)
break语句(跳出本层循环)
- break 语句可以跳出所在层的循环,这些循环可以是for、while、do-while。
continue语句(跳出本轮循环体的剩余语句,进入到当前循环下的下一轮循环体)
- 结束当前循环体剩下的语句,直接进入下一轮循环体的执行。
1、break的例子:求100以内的素数
public class BreakAndContinue { public static void main(String[] args) { // 求100以内的所有素数 int count = 0; // 用来记录素数的个数。 for (int i = 2; i <= 100; i++) { // 1既不是素数也不会合数,素数从2开始,结束的标志是检查到100. for (int j = 2; j <= i; j++) { /* 内循环的作用是:依次遍历i范围内的数字,比较它和i的关系。 * 例如,如果i是50,那么内循环中的j就依次代表遍历50以内的这些数字,从2到50。 * 判断一: * 看它是否能把i整除,如果可以并且它俩不相等,那么说明j是i的因数,那就一定不是素数了。 * 这时候就直接跳出内循环,让新的i进入内循环来判断是否为素数。 * 判断二: * 如果第一个条件判断不起作用,那么就说明在范围中找不到i的因数,这样就不会跳出循环,而会继续进入下一个判断。 * 进入第二个条件判断,j能整除i并且二者相等,这就满足了素数的条件:除了1和它本身没有其他因数。而此时,j就是i本身。 * 找到素数输出。 */ if (i % j == 0 && i != j) { // 跳出整个内循环 break; } if (i % j == 0 && i == j) { count++; // 每次找到一个,就对计数器累加一次,从而记录素数的个数。 System.out.println("这是第" + count + "个素数,它是" + i + "。"); } } } } }
2、continue的例子
public class Continue { public static void main(String[] args) { int count = 0; for(int i = 1; i <= 10; i++) { if(i == 5) { // 遍历到5的时候,就会跳过当前循环体,当然也不会去执行剩下的语句了。 // 于是就到了下一轮循环(此时i的值是6),所以这里的第5次输出是6而非5,因为5的那一轮循环被跳过了。 continue; } count++; System.out.println("第" + count + "次输出,输出值为" + i); } } }