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,差别是跳出标签后跟着的循环)。

posted @ 2015-06-02 18:14  ayouyj  阅读(260)  评论(0编辑  收藏  举报