最近因为客户反映了一个bug,看了下代码逻辑,最终找到原因了。为了方便理解简单列个小例子,供大家参考。关于循环中这三个关键字的用法。
- 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+" ");
}
}
}
执行后,可以看到程序到5的时候跳出了循环。
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) {
//执行被调函数循环中的return后,则会继续执行主调函数下面的代码。
fun();
System.out.println("结束");
}
}
可以看到后面的hello并没有打印出来。最后,输出了 ‘结束’。
注意:本文归作者所有,未经作者允许,不得转载