《疯狂JAVA讲义》之十三——流程控制

xiaoxiao2021-02-28  56

package com.huateng.mjq.chapter4; /** * java 流程控制:顺序结构、分支结构、循环结构 * 顺序结构不题; * 分支结构中:if(){} * if()else{} * if()else if(){}else if(){}else {} 这个注意一点:需要把包含范围小的条件放在前面,而且各个分支最多执行一个。 * switch()case break;default break; 需要注意break的使用 * * 循环结构:循环结构中包含:循环变量初始化,循环条件检测,执行循环体,循环变量修改,再次循环条件检测.....直到循环条件不满足时,循环执行结束或者 * 在执行循环体的过程中,使用return,break,continue等,这个下面后面还会讨论; * for(;;){} 直到型循环,如果省略{},则for循环会将for(;;)后的第一条语句(以分号分隔)作为循环体;这个也同样适用与分支语句if和else if 、else * for循环中,循环变量初始化,循环条件和循环变量迭代语句都不是必须的,但是分号必须存在,省略循环条件则表示true,死循环;初始化语句可以同时初始化多个相同类型(不限于int)的变量; * while(){} 直到型循环; * do{}while(); 当型循环,注意while()后的分号。 * 具体看例子 * @author Administrator * */ public class ProceDureContr_1 { public static void main(String [] args) { test3(); } /*a:0.3,b:0.5 a:0.6,b:1.5*/ public static void test1() { for(double a = 0.3,b =0.5;a+b<3;a=a*2,b=b*3) { System.out.println("a:"+a+",b:"+b); } } /* 0 1 2 3 4 5本次循环要退出了,但是i++还是会被执行 6 */ public static void test2() { //由于for跟while,do while不同,它的变量迭代没有放在循环体中,所以在使用continue结束本次循环的执行后,循环变量仍然会进行迭代 int i; for(i =0;i<7;i++) { if(i==5) { System.out.println(i+"本次循环要退出了,但是i++还是会被执行"); continue; } System.out.println(i); } } /*I love you !*/ public static void test3() { int forever = 10; //这个for()后面的分号,很致命 for(int i=0;i<forever;i++); { //i显示未定义 //System.out.println("第"+ i +"次,I love you !"); System.out.println("I love you !"); } } } package com.huateng.mjq.chapter4; /** * break:结束break所在的循环执行,继续执行外层循环(如果是循环嵌套); * continue:结束执行本次循环continue后的代码,继续下次循环 * 标签:标签是标识符后紧跟冒号,只有放在循环前使用; * break 标签:结束break 标签 所在的循环的执行,跳转至标签所在的地方,继续向下执行 * continue 标签: * @author Administrator * */ public class ProceDureContr_2 { public static void main(String [] args) { test6(); } /* i的值是:0 i的值是:1 i的值是:2 i的值是:3 i的值是:4 i的值是:5 */ public static void test1() { for(int i =0;i<10;i++) { System.out.println("i的值是:"+i); if(i == 5) break; } } /* i的值是:0 i的值是:1 i的值是:2 i的值是:3 i的值是:4 i的值是:6 i的值是:7 i的值是:8 i的值是:9 */ public static void test2() { for(int i =0;i<10;i++) { if(i == 5) continue; System.out.println("i的值是:"+i); } } /* 循环外 外层循环: i的值为:0 内层循环,i的值为: 0,j的值为: 0 内层循环,i的值为: 0,j的值为: 1 内层循环,i的值为: 0,j的值为: 2 */ public static void test3() { System.out.println("循环外"); outer: //这里不允许有任何语句,因为标签放在循环前 //System.out.println("循环外"); for(int i =0;i<5;i++) { System.out.println("外层循环: i的值为:"+i); for(int j =0;j<5;j++) { System.out.println("内层循环,i的值为: "+i+",j的值为: "+j); if(j == 2) //跳转至外层,外层循环也不会再执行 break outer; } } } /* 外层循环: i的值为:0 内层循环,i的值为: 0,j的值为: 0 内层循环,i的值为: 0,j的值为: 1 内层循环,i的值为: 0,j的值为: 2 外层循环: i的值为:1 内层循环,i的值为: 1,j的值为: 0 内层循环,i的值为: 1,j的值为: 1 内层循环,i的值为: 1,j的值为: 2 外层循环: i的值为:2 内层循环,i的值为: 2,j的值为: 0 内层循环,i的值为: 2,j的值为: 1 内层循环,i的值为: 2,j的值为: 2 外层循环: i的值为:3 内层循环,i的值为: 3,j的值为: 0 内层循环,i的值为: 3,j的值为: 1 内层循环,i的值为: 3,j的值为: 2 外层循环: i的值为:4 内层循环,i的值为: 4,j的值为: 0 内层循环,i的值为: 4,j的值为: 1 内层循环,i的值为: 4,j的值为: 2 */ public static void test4() { for(int i =0;i<5;i++) { System.out.println("外层循环: i的值为:"+i); inner: for(int j =0;j<5;j++) { System.out.println("内层循环,i的值为: "+i+",j的值为: "+j); if(j == 2) //结束内层循环,后续j = 3,4,都不会执行 break inner; } } } /* 循环外 外层循环: i的值为:0 内层循环,i的值为: 0,j的值为: 0 内层循环,i的值为: 0,j的值为: 1 内层循环,i的值为: 0,j的值为: 2 外层循环: i的值为:1 内层循环,i的值为: 1,j的值为: 0 内层循环,i的值为: 1,j的值为: 1 内层循环,i的值为: 1,j的值为: 2 外层循环: i的值为:2 内层循环,i的值为: 2,j的值为: 0 内层循环,i的值为: 2,j的值为: 1 内层循环,i的值为: 2,j的值为: 2 外层循环: i的值为:3 内层循环,i的值为: 3,j的值为: 0 内层循环,i的值为: 3,j的值为: 1 内层循环,i的值为: 3,j的值为: 2 外层循环: i的值为:4 内层循环,i的值为: 4,j的值为: 0 内层循环,i的值为: 4,j的值为: 1 内层循环,i的值为: 4,j的值为: 2 */ public static void test5() { System.out.println("循环外"); outer: //这里不允许有任何语句,因为标签放在循环前 //System.out.println("循环外"); for(int i =0;i<5;i++) { System.out.println("外层循环: i的值为:"+i); for(int j =0;j<5;j++) { System.out.println("内层循环,i的值为: "+i+",j的值为: "+j); if(j == 2) //跳转至外层,内层循环j =3,4不会执行 continue outer; } } } /* 外层循环: i的值为:0 内层循环,i的值为: 0,j的值为: 0 内层循环,i的值为: 0,j的值为: 1 内层循环,i的值为: 0,j的值为: 3 内层循环,i的值为: 0,j的值为: 4 外层循环: i的值为:1 内层循环,i的值为: 1,j的值为: 0 内层循环,i的值为: 1,j的值为: 1 内层循环,i的值为: 1,j的值为: 3 内层循环,i的值为: 1,j的值为: 4 外层循环: i的值为:2 内层循环,i的值为: 2,j的值为: 0 内层循环,i的值为: 2,j的值为: 1 内层循环,i的值为: 2,j的值为: 3 内层循环,i的值为: 2,j的值为: 4 外层循环: i的值为:3 内层循环,i的值为: 3,j的值为: 0 内层循环,i的值为: 3,j的值为: 1 内层循环,i的值为: 3,j的值为: 3 内层循环,i的值为: 3,j的值为: 4 外层循环: i的值为:4 内层循环,i的值为: 4,j的值为: 0 内层循环,i的值为: 4,j的值为: 1 内层循环,i的值为: 4,j的值为: 3 内层循环,i的值为: 4,j的值为: 4 */ public static void test6() { for(int i =0;i<5;i++) { System.out.println("外层循环: i的值为:"+i); inner: for(int j =0;j<5;j++) { if(j == 2) //j=2不会打印出下面的信息来 continue inner; System.out.println("内层循环,i的值为: "+i+",j的值为: "+j); } } } }
转载请注明原文地址: https://www.6miu.com/read-55133.html

最新回复(0)