说明在循环中使用break和continue,return语句之间的区别
循环中使用break和continue,return语句之间的区别:含义不同,方式不同。
一、含义不同:
break是跳出当前整个循环语句,而continue是跳过当前循环的某一个条件语句的动作,return则是跳出当前函数而不往下继续执行。
二、方式不同:
break语句导致程序终止包含它的循环,并进行程序的下一阶段,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。
continue循环语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环。
return是表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。
说明
通常在 switch 语句和 while、for、for...in、或 do...while 循环中使用 break 语句。 最一般的是在 switch 语句中使用 label 参数,但它可在任何语句中使用,无论是简单语句还是复合语句。
执行 break 语句会退出当前循环或语句,并开始脚本执行紧接着的语句。
例如,以下都是表达式语句:
a=3+5;
a>b?a:b;
a=1,b=2,c=3;
printf(“hello\n”);
常见的表达式语句有以下几种:空语句、赋值语句、函数调用语句。
以上内容参考:百度百科-break语句
如下代码
12345678910public class Test { public static void main(String[] args) { for(int i=0; i<10; i++){ if(i==5){ break; } System.out.print(i+" "); } }}可以看到程序输出了01234到5的时候跳出了循环
continue:循环语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环。
把break改为continue
12345678910public class Test { public static void main(String[] args) { for(int i=0; i<10; i++){ if(i==5){ continue; } System.out.print(i+" "); } }}可以看到只有5没有输出,也即当i=5时没有执行打印操作,直接到下一次循环
而return是表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return后函数就结束了,后面的语句不再执行
1234567891011121314public class Test { public static void fun(){ for(int i=0; i<10; i++){ if(i==5){ return; } System.out.print(i+" "); } System.out.println("hello"); } public static void main(String[] args) { fun(); }}break:
此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。
如下代码
public class Test {
public static void main(String[] args) {
for(int i=0; i<10; i++){
if(i==5){
break;
}
System.out.print(i+" ");
}
}
}
可以看到程序输出了01234到5的时候跳出了循环
continue:循环语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环。
把break改为continue
public class Test {
public static void main(String[] args) {
for(int i=0; i<10; i++){
if(i==5){
continue;
}
System.out.print(i+" ");
}
}
}
可以看到只有5没有输出,也即当i=5时没有执行打印操作,直接到下一次循环
而return是表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return后函数就结束了,后面的语句不再执行
public class Test {
public static void fun(){
for(int i=0; i<10; i++){
if(i==5){
return;
}
System.out.print(i+" ");
}
System.out.println("hello");
}
public static void main(String[] args) {
fun();
}
}
可以看到后面的hello并没有打印出来
2015-12-08 · 做真实的自己 用良心做教育
break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。
如下代码
public class Test {
public static void main(String[] args) {
for(int i=0; i<10; i++){
if(i==5){
break;
}
System.out.print(i+" ");
}
}
}
可以看到程序输出了01234到5的时候跳出了循环
continue:循环语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环。
把break改为continue
public class Test {
public static void main(String[] args) {
for(int i=0; i<10; i++){
if(i==5){
continue;
}
System.out.print(i+" ");
}
}
}
可以看到只有5没有输出,也即当i=5时没有执行打印操作,直接到下一次循环
而return是表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return后函数就结束了,后面的语句不再执行
public class Test {
public static void fun(){
for(int i=0; i<10; i++){
if(i==5){
return;
}
System.out.print(i+" ");
}
System.out.println("hello");
}
public static void main(String[] args) {
fun();
}
}
可以看到后面的hello并没有打印出来
2013-11-25