今天写程序无意中发现需要开始注意什么时候使用Break,什么时候使用Return了!
首先写两个样例,看看执行结果会是什么样子:
public class BreakTest {
public static void main(String[] args) {
for(int i=0;i<3;i++){
System.out.println("i" + i);
for(int j=0;j<3;j++){
System.out.println("j" + j);
if(j==2)
break;
//return;
}
System.out.println("-------------");
}
}
}
这里是用break,打印结果是这样:
i0
j0
j1
j2
-------------
i1
j0
j1
j2
-------------
i2
j0
j1
j2
-------------
如果将程序中的return注释去掉,将break注释掉呢?结果是这样的...
public class BreakTest {
public static void main(String[] args) {
for(int i=0;i<3;i++){
System.out.println("i" + i);
for(int j=0;j<3;j++){
System.out.println("j" + j);
if(j==2)
//break;
return;
}
System.out.println("-------------");
}
}
}
i0
j0
j1
j2
这里大家就开始发现了!break是跳出离自己最近的一个循环体,跳出循环后,外层循环体后面的代码还是可以被执行的!
希望大家好好利用这两个关键字,尤其在算法的时候适当的用好这两个关键字,可以写出很优秀的算法!