Java :break,continue,return的基础区别

break,continue,return是程序中经常出现的语句,其功能也有点相似之处,有时候辨析时易混淆,下为三者的区别分析。

大致思路:明确用在什么语句或结构中,其具体作用以及其他两者没有的特殊作用。

 

break:主要是用于switch语句和循环语句中。

break语句主要是在switch语句和循环结构出现。break用于结束其所在当前switch语句块程序的运行,但不会影响其所在语句块外部代码的执行。在循环结构中使用break语句,如果执行了break语句,那么就退出循环,接着执行循环结构下面的第一条语句。

如果在多重嵌套循环中使用break语句,当执行break语句的时候,退出的是它所在的循环结构,对外层循环没有任何影响。如果循环结构里有switch语句,并且在switch语句中使用了break语句,当执行switch语句中的break语句时,仅退出switch语句,不会退出外面的循环结构。

举例:

public class BreakTest {
	public static void main(String[] args) {
		int i = 1;
		int k = 1;
		switch (i) {
			case 1:
				System.out.println("代码1");
				switch (k) {
					case 1:
						System.out.println("代码extra");
					break;
				}
				//break;
			case 2:
				System.out.println("代码2");
				break;
			default:
				System.out.println("代码3");
		}
		System.out.println("代码4");
	}
}

break结束其所在当前switch语句块程序的运行,运行结果为:

代码1 

代码extra 

代码2

代码4    

 

去掉//的结果为:

代码1 

代码

代码4 

 

注:break可以用在if语句中,但是if语句必须在循环或switch分支语句中

public class Test {

	public static void main(String[] args) {
		if(1==1){
			break;
		}
	}
}

 

 

 

continue:只能用于循环语句中。

continue语句只能用于循环语句,碰到continue语句就表示不执行后面的语句,直接转到下一次循环的开始,也有个形象的短语为:“半途而废,从头再来”。

常见的循环语句结构为:1.for       2.while      3.do while

如果在switch等语句中出现continue,如果语法正确,只能说明switch里面嵌套了for等循环结构,否则编译器会报错。

public class LoopTest {
	public static void main(String[] args) {
		for (int i = 0; i < 3; i++) {
			if (i == 1) {
				continue;
			}
			System.out.println("in code"+i);
		}
		System.out.println("out code");
	}
}

运行结果:continue用于结束当前循环进入下次循环。

in code0

in code2

out code

 

return:用于有方法函数的地方(比如main方法)

return用于结束其所在方法的运行。return不能用于无方法的代码块中(如:static{System.out.println("代码"); return; }//错误)

public class SwitchTest {
	public static void main(String[] args) {
		int i=1;
		switch(i){
		case 1 :
			System.out.println("代码1");
			return;
		case 2 :
			System.out.println("代码2");
			return;
		default :
			System.out.println("代码3");
		}
		//System.out.println("代码4");//去掉前面注释,该行代码会执行,不会显示“代码4”
	}
}

程序运行结果:代码1

 

public class LoopTest {
	static void loop(){
		for (int i = 0; i < 3; i++) {
			if (i == 1) {
				return;
			}
			System.out.println("in code");
		}
	}
	public static void main(String[] args) {
		loop();
		System.out.println("out code");
	}
}

程序运行结果:

in code

out code

 

 

posted @ 2018-08-16 14:05  龙雪  阅读(226)  评论(0编辑  收藏  举报