break, continue, return

来源:互联网 发布:iso软件标准 编辑:程序博客网 时间:2024/06/05 07:03
/*** * 跳出当前break所属循环,继续外层循环。 */private void break0() {for(int i = 0; i < 3; i++) {System.out.println("输出i: " + i);for(int j = 0; j < 6; j++) {if(j > 4) {break;}System.out.println("输出j: " + j);}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出j: 1
输出j: 2
输出j: 3
----------割----------
输出i: 1
输出j: 0
输出j: 1
输出j: 2
输出j: 3
----------割----------
输出i: 2
输出j: 0
输出j: 1
输出j: 2
输出j: 3
----------割----------

结束了


/*** * 跳出"over"标签所标识的循环,这里结束了所有循环。 */private void break1() {over:for(int i = 0; i < 3; i++) {System.out.println("输出i: " + i);for(int j = 0; j < 6; j++) {if(j > 4) {break over;}System.out.println("输出j: " + j);}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出j: 1
输出j: 2
输出j: 3
结束了

/*** * 跳出"over"标签所标识的循环, * 这里结束了j和k的两层循环,最外层的i并没有结束。 */private void break2() {for (int i = 0; i < 3; i++) {System.out.println("输出i: " + i);over: for (int j = 0; j < 6; j++) {System.out.println("输出j: " + j);for (int k = 0; k < 9; k++) {if (k > 7) {break over;}System.out.println("输出k: " + k);}}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出k: 7
----------割----------
输出i: 1
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出k: 7
----------割----------
输出i: 2
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出k: 7
----------割----------
结束了

/*** * 和break的区别 * break:直接跳出当前j循环; * continue:结束当前循环正在执行的操作,但不跳出,继续执行下一次循环。 */private void continue0() {for(int i = 0; i < 3; i++) {System.out.println("输出i: " + i);for(int j = 0; j < 6; j++) {if(j == 4) {continue;}System.out.println("输出j: " + j);}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出j: 1
输出j: 2
输出j: 3
输出j: 5
----------割----------
输出i: 1
输出j: 0
输出j: 1
输出j: 2
输出j: 3
输出j: 5
----------割----------
输出i: 2
输出j: 0
输出j: 1
输出j: 2
输出j: 3
输出j: 5
----------割----------
结束了

/*** * 和break的区别 * break:跳出"over"标签所标识的循环; * continue:结束"over"标签所标识的循环正在执行的操作,但不跳出,继续执行下一次循环。 * 从输出结果会发现,连"----------割----------"都没有执行。 */private void continue1() {over:for(int i = 0; i < 3; i++) {System.out.println("输出i: " + i);for(int j = 0; j < 6; j++) {if(j == 4) {continue over;}System.out.println("输出j: " + j);}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出j: 1
输出j: 2
输出j: 3
输出i: 1
输出j: 0
输出j: 1
输出j: 2
输出j: 3
输出i: 2
输出j: 0
输出j: 1
输出j: 2
输出j: 3
结束了

/*** * 和break的区别 * break:跳出"over"标签所标识的循环; * continue:结束"over"标签所标识的循环正在执行的操作,但不跳出,继续执行下一次循环。 * 从输出结果会发现,"----------割----------"有执行,因为"over"标签标识的是j循环。 */private void continue2() {for (int i = 0; i < 3; i++) {System.out.println("输出i: " + i);over: for (int j = 0; j < 6; j++) {System.out.println("输出j: " + j);for (int k = 0; k < 9; k++) {if (k == 7) {continue over;}System.out.println("输出k: " + k);}}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 1
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 2
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 3
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 4
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 5
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
----------割----------
输出i: 1
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 1
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 2
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 3
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 4
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 5
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
----------割----------
输出i: 2
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 1
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 2
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 3
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 4
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
输出j: 5
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6
----------割----------
结束了

/*** * 最简单粗暴,直接跳出当前方法。 * 从输出结果会发现,连"结束了"都没有执行。 */private void return0() {for (int i = 0; i < 3; i++) {System.out.println("输出i: " + i);for (int j = 0; j < 6; j++) {System.out.println("输出j: " + j);for (int k = 0; k < 9; k++) {if (k == 7) {return;}System.out.println("输出k: " + k);}}System.out.println("----------割----------");}System.out.println("结束了");}
输出i: 0
输出j: 0
输出k: 0
输出k: 1
输出k: 2
输出k: 3
输出k: 4
输出k: 5
输出k: 6