continue可以强迫程序跳到循环的起始处,当程序运行到continue语句时,即会停止运行剩余的循环主体(结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环),而是回到循环的开始处继续运行。

while语句为例来说明continue语句的基本使用,实例:

package com.yoodb.blog;
public class Test {
    public static void main(String[] args) {
int i= 0;
while (i < 7){
     i++;
     if(i == 5){
       continue;
     }
     System.out.println("i value is " + i);
}
    }
}

运行结果如下:

i value is 1
i value is 2
i value is 3
i value is 4
i value is 6
i value is 7

分析:该循环在变量i等于5时,满足条件执行continue语句,中断这次循环,继续后面的循环。

switch语句为例来说明continue语句和break语句的使用时的区别,实例:

package com.yoodb.blog;

import java.util.ArrayList;
import java.util.List;

public class SwitchTest {

	public void ss(List<Integer> l) {
		for (int i = 0; i < l.size(); i++) {
			switch (l.get(i)) {
			case 0:
				System.out.println("value is 0");
				continue;
			case 1:
				System.out.println("value is 1");
			case 2:
				System.out.println("value is 2");
			case 3:
				System.out.println("value is 3");
				break;
			default:
				System.out.println("default");
			}
			System.out.println("out switch");
		}
	}

	/**
	 * 
	 * @param args
	 */
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<Integer>();
		list.add(0);
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		SwitchTest st = new SwitchTest();
		st.ss(list);
	}
}

运行结果如下:

value is 0
value is 1
value is 2
value is 3
out switch
value is 2
value is 3
out switch
value is 3
out switch
default
out switch

分析:

1)当程序中System.out.println("out switch");这句话没有的话,也就是说switch后面没有其他执行业务逻辑的时候,breakcontinue效果是一样的。都是跳出本次循环,执行下一次循环。

2)当switch后面有其他执行业务逻辑的时候,breakcontinue效果是不同的。break是跳出switch后,继续执行后面的逻辑。上述实例就会输出out switch。如果是continue就是跳出switch,不执行switch后面的业务逻辑。

3)当switch语句中既没有contiune语句又没有break语句时,程序匹配后,会继续执行case后面的条件。实例中:

case 0:
System.out.println("value is 0");
continue;
case 1:
System.out.println("value is 1");
case 2:
System.out.println("value is 2");
case 3:
System.out.println("value is 3");
break;

这部分代码。如果于1匹配之后,会继续输出value is 2value is 3直到遇到value is 3后面的break才跳出switch。同样如果匹配的是2,还是会执行case 3:后面的语句。直到遇到break跳出switch

当然如果breakcontinue用在for或者while循环时,continue就是跳出本次循环,继续下一次循环。而break就是跳出相应的for或者while循环,不在执行。

breakcontinue两者的区别

1)当循环执行到break语句时,就退出整个循环,然后执行循环外的语句。

2)当循环语句执行到continue时,当次循环结束,重新开始下一轮循环。如果已经是最后一轮循环了,那么这是的continue就与break效果一样了。

关注下方微信公众号“Java精选”(w_z90110),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信