java for循环使用标签以及switch

public class LabeledLoop {

	public static void main(String[] args) {
		int i = 0;
		outer: // Can't have statements here
		for(; true ;) {
			inner: // Can't have statements here
			for(; i < 10; i++) {
				prt("i = " + i);
				if(i == 2) {
					prt("continue");
					continue;
				}
				if(i == 3) {
					prt("break");
					i++; // Otherwise i never gets incremented.
					break;
				}
				if(i == 7) {
					prt("continue outer");
					i++; // Otherwise i never gets incremented.
					continue outer;
				}
				if(i == 8) {
					prt("break outer");
					break outer;
				}
				for(int k = 0; k < 5; k++) {
					if(k == 3) {
						prt("continue inner");
						continue inner;
					}
				}
			}
		}
		// Can't break or continue to labels here
	}
	static void prt(String s) {
		System.out.println(s);
	}
}

    * switch要求使用一个选择因子,并且必须是int 或char 那样的整数值。假若将一个字串或者浮点数作为

      选择因子使用,那么它们在switch 语句里是不会工作的。对于非整数类型,则必须使用一系列if 语句。
   * 每个case 均以一个break 结尾。这样可使执行流程跳转至switch 主体的末尾。
   * 若省略break,会继续执行后面的case 语句的代码,直到遇到一个break 为止。

输出为:

i = 0
continue inner
i = 1
continue inner
i = 2
continue
i = 3
break
i = 4
continue inner
i = 5
continue inner
i = 6
continue inner
i = 7
continue outer
i = 8
break outer

猜你喜欢

转载自jaesonchen.iteye.com/blog/2286599