java控制执行流程--thinking in java学习
常用的控制执行流程有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,差别是跳出标签后跟着的循环)。