首先适用场景的区别:return在方法何时何地都可以使用;而continue、break只能用于循环或switch中。
其次返回点也不同:
- return即结束该方法,有返回值则将其放回给方法调用者;
- 而continue表示跳出当次循环,从循环开头继续执行。举个例子:
for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.println("我是内循环"); if (i == j) { continue; } System.out.println("no have continue"); } System.out.println("我是外循环"); }
可以看到当i = j时,并没有执行“no have
continue
”输出语句,而是再次执行该循环,
因此可以看到会连续两次输出“我是内循环”
; 而
break
表示跳出当前循环,从该循环后面继续执行。将上面例子的
continue
成
break
:
for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.println("我是内循环"); if (i == j) { break; } System.out.println("no have continue"); } System.out.println("我是外循环"); }
可以看到当i == j时,直接跳出当前循环,而执行外循环,无论j等于多少。