java控制执行流程

时间:2021-08-21 03:33:59


常用的控制执行流程有if-else;迭代while,do-while,for,foreach;return;break,continue;
和break,continue配合使用的标签;switch;在过thinking in java这章的过程中,
有两个地方又重新认识了一下,来和大家分享。
1、return 有两个作用,1.设定一个方法的返回值;2.退出当前方法。
因此任何方法都可以使用return语句,在void方法中使用return便是
使用return的退出当前方法的作用。
而且在返回void的方法中没有return语句时,在该方法的结尾处会有一个隐式
的return。
2、和break,continue配合使用的标签来达到goto的作用。
1.一般的continue会退回最内层循环的开头(顶部),并继续执行。
2.带标签的continue会达到标签的位置,并重新进入紧接在那个标签后面的循环。
3.一般的break会中断并跳出标签所指的循环。
4.带标签的break会中断并跳出标签所指的循环。

而需要注意的是:在java里需要使用标签的唯一理由就是因为有循环嵌套存在,而且想从多层嵌套中
break和continue。

引入thinking in java中的代码段学习一下:

public class LabelDemo {
public static void main(String[] args) {
int i = 0;
outer:
for(; true ;) {
inner:
for(; i < 10; i++) {
System.out.println("i = " + i);
if(i == 2) {
System.out.println("continue");
continue;
}
if(i == 3) {
System.out.println("break");
i++;
break;
}
if(i == 7) {
System.out.println("continue outer");
i++;
continue outer;
}
if(i == 8) {
System.out.println("break outer");
break outer;
}
for(int k = 0; k < 5; k++) {
if(k == 3) {
System.out.println("continue inner");
continue inner;
}
}
}
}
}
}

  其中标签的写法为标签名加":",在多重嵌套的循环中,continue加标签,表明进入标签后面所跟的循环的下次循环(类似单层循环中的continue,差别是到标签后跟着的循环);break加标签,表明直接跳出标签后所跟的循环(类似单层循环中的break,差别是跳出标签后跟着的循环)。