return与break的区别
break语句虽然可以独立使用,但通常主要用于switch语句中,控制程序的执行流程转移。
在switch语句中,其作用是强制退出switch结构,执行switch结构之后的语句。其本质就是在
单层循环结构体系中,其作用是强制退出循环结构。
return语句用来明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。
因此,将它分类为跳转语句.有两个作用,一个是返回方法指定类型的值(这个值总是确定的);
一个是结束方法的执行(仅仅一个return语句)。 return 语句可以使其从当前方法中退出,返回到
调用该方法的语句处,继续程序的执行 。
这里做个小测试,比较在循环之中break和return的区别,switch语句和return返回调用方法,想必大家都比较熟
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public
class
Loop {
public
static
void
main(String[] args) {
for
(
int
i=
0
;i<
3
;i++){
for
(
int
j=
0
;j<
3
;j++){
System.out.println(
"测试i="
+i+
" 测试j="
+j);
if
(i==
2
)
break
;
System.out.println(
"j"
+j+
"循环结束。。。"
);
}
}
System.out.println(
"i循环结束。。。"
);
}
}
|
测试break:
测试i=0 测试j=0
j0循环结束。。。
测试i=0 测试j=1
j1循环结束。。。
测试i=0 测试j=2
j2循环结束。。。
测试i=0 测试j=3
j3循环结束。。。
测试i=1 测试j=0
j0循环结束。。。
测试i=1 测试j=1
j1循环结束。。。
测试i=1 测试j=2
j2循环结束。。。
测试i=1 测试j=3
j3循环结束。。。
测试i=2 测试j=0
测试i=3 测试j=0
j0循环结束。。。
测试i=3 测试j=1
j1循环结束。。。
测试i=3 测试j=2
j2循环结束。。。
测试i=3 测试j=3
j3循环结束。。。
i循环结束。。。
测试return:
测试i=0 测试j=0
j0循环结束。。。
测试i=0 测试j=1
j1循环结束。。。
测试i=0 测试j=2
j2循环结束。。。
测试i=0 测试j=3
j3循环结束。。。
测试i=1 测试j=0
j0循环结束。。。
测试i=1 测试j=1
j1循环结束。。。
测试i=1 测试j=2
j2循环结束。。。
测试i=1 测试j=3
j3循环结束。。。
测试i=2 测试j=0
小结:
break是退出该循环,本循环结束但是不影响上一级循环。
return是明确地从一个方法返回。也就是,return 语句使程序控制返回到调用它方法。因此,将它分类为跳转语句
。