您的位置:首页 > 产品设计 > UI/UE

java中的break、continue、return区别

2016-09-22 16:27 621 查看
1、break:可以用于for循环等循环体和开关语句switch case中;

用在循环中时,break是指跳出当前的循环体,如果是嵌套循环的话,只能跳出离break最近的for循环层;例如:

public static void main(String[] args) {
for (int i = 0; i<=5; i++) {
if (i == 3){
System.out.println("我是3,我要跳出循环了,后面的都不能执行了ㄟ(⊙ω⊙ㄟ)");
break;
}
System.out.println(i);
}
}


运行结果:

0
1
2
我是3,我要跳出循环了,后面的都不能执行了ㄟ(⊙ω⊙ㄟ)


Java中,如何跳出当前的多重嵌套循环?

在最外层循环前加一个标记如flag,然后用break flag;可以跳出多重循环。

用于开关语句switch case中:break可使程序跳出switch而执行switch以后的语句;

此时分两种情况:

1、如果满足条件的case有break,则直接跳出switch语句;

2、如果满足条件的case没有break,此时又分两种情况:

  2.1、之后的case也都没有break,就从满足条件的那个case开始执行,直到执行完default后结束;

  2.2、之后的case有一个或多个break,就从满足条件的那个case开始执行,直到遇到break后结束;

例子1:

public static void main(String[] args) {
int flag = 3;
switch (flag) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("flag为3,此时case为3且有break,结束switch");
break;
case 4:
System.out.println("4");
break;
case 5:
System.out.println("5");
break;
default:
System.out.println("default");
}
}


运行结果:

flag为3,此时case为3且有break,结束switch


例子2.1:

public static void main(String[] args) {
int flag = 3;
switch (flag) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
//break;
case 4:
System.out.println("4");
//break;
case 5:
System.out.println("5");
//break;
default:
System.out.println("等于3的case,没有break,且之后的case也都没有break,则一直执行到default才结束");
}
}


输出结果:

3
4
5
等于3的case,没有break,且之后的case也都没有break,则一直执行到default才结束


例子2.2:

public static void main(String[] args) {
int flag = 3;
switch (flag) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
//break;
case 4:
System.out.println("4");
//break;
case 5:
System.out.println("等于3的case,没有break,但我有break,则执行到我这里就结束");
break;
default:
System.out.println("default");
}
}


运行结果:

3
4
等于3的case,没有break,但我有break,则执行到我这里就结束


2、continue :当只有一层循环时,结束当前循环的本次循环,当有循环嵌套时,结束本层循环的本次循环;

public static void main(String[] args) {
for (int i = 0; i<=5; i++) {
if (i == 3){
System.out.println("我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)");
continue;
}
System.out.println(i);
}
}


运行结果:

0
1
2
我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)
4
5


3、return:跳出当前方法;

如果方法返回值是void,则直接用return;

如果方法返回值是String等类型,则需要retrun “”;

例子:

public static void main(String[] args) {
for (int i = 0; i<=5; i++) {
if (i == 3){
System.out.println("我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)");
return;
}
System.out.println(i);
}
}


运行结果:

0
1
2
我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: