流程控制语句练习
流程是指程序步骤执行的先后顺序,先做什么,后做什么。
1 顺序结构
package com.cnblogs.www.demo6; //顺序结构,从上到下,从左到右。 public class shunxu { public static void main(String[] args) { //程序运行后,在控制台输出的结果,按照从上到下,从左到右的顺序 System.out.println("一"); System.out.println("二"); System.out.println("三"); System.out.println("四" + "五"); } }
2 单if结构,判断语句
package com.cnblogs.www.demo6; //单if结构,判断语句。如果判断表达式结果是true,则执行语句体,flase则不执行。 public class If { public static void main(String[] args) { //程序运行后,在控制台输出:成年。 int age = 19; //我是变量 if(age >= 18) { //我是表达式,我在括号中。 System.out.println("成年"); //我是语句体。 } //练习1,输出:没有输出语句。我原本认为这就是输出为空,要占用一行位置,结果发现并不会。 int a = 17; if(a >= 18) { //判断结果是false System.out.println("成年"); } //练习2,输出:成年。 int g = 18; if(g >=18) { //由于g=18,判断条件是大于等于,所以是true System.out.println("成年"); } } }
3 选择结构,if-else语句
package com.cnblogs.www.demo6; //选择结构,if-else语句。 public class Ifelse { public static void main(String[] args) { //如果,判断表达式结果是true,则执行语句体1,flase执行语句体2。 int age = 19; if(age >= 18){ //我是表达式,我在括号中。 System.out.println("已经成年"); //语句体1 }else{ System.out.println("未成年"); //语句体2 } //使用if-else语句来判断0是不是偶数 int num = 0; //声明变量,并给变量赋值为0 if(num % 2==0) { //如果,这个变量除以2能够余数为0 System.out.println("偶数"); //偶数 } else{ //如果不能 System.out.println("奇数"); //奇数 } } }
4 选择结构,switch语句
package com.cnblogs.www.demo6; //选择结构,switch语句 public class SwitchTest { public static void main(String[] args) { //如果判断的值的个数是固定的,建议使用stitch。这个Demo中判断的值的个数为7个。 int num = 4; //设置表达式 switch(num) { //表达式的值与case值相同,就执行其关联的代码,不同则继续找。 case 1: System.out.println("星期一"); //与case 1关联的代码,输出语句。 break; //与case 1关联的代码,break在swithch语句当中,一旦执行,整个swithch语句立刻结束。 case 2: System.out.println("星期二"); //与case 2关联的代码,依次类推即可。 break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: //表达式的值与每一个case的值都不相同时,就执行我。 System.out.println("数据不合理"); //输出:数据不合理。所以说判断的值的个数是固定的。 break; } } }
循环控制,break关键字
package com.cnblogs.www.demo6; //循环控制,break语句 public class Break { public static void main(String[] args) { //如果希望第2 次开始,后续全部不要了,就要打断循环 for(int i=1; i < 10; i++) { if(i==2) { //如果i=2执行语句体 break; //语句体,break用在循环语句当中,一旦执行,整个循环语句立刻结束,打断循环。 } System.out.println("跑步" +i); //由于循环被打断了,所以输出:跑步1 } } }
循环控制,continue关键字
package com.cnblogs.www.demo6; //循环控制,continue语句 public class Continue { public static void main(String[] args) { //在for循环的语句体中使用了if循环,for循环语句体分为两个部分if循环和输出语句。 for(int i =0; i < 6; i++) { if(i==3) { //if判断表达式,如果是true,就执行语句体 continue; //一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环。 } System.out.println(i+"层到了。"); //for循环的剩余内容,也就是continue可以跳过的内容 } } }
5 循环结构,for循环
package com.cnblogs.www.demo6; //循环结构,for循环 public class Loop { public static void main(String[] args) { //这个程序会输出100条输出语句 for(int i = 0; i < 100; i++) { System.out.println("我错啦!" +i); //我是循环体语句 } System.out.println("程序停止"); //我是步进语句,每次循环后都要进行一次。 } /* int i = 0; 初始化声明,只执行一次 * i < 100; 判断表达式,重复执行。如果声明的值小于100就是true,执行循环体语句。大于100,false则终止 * i++; 更新循环控制变量,重复执行。自增运算符的实际应用。 * 当第一遍这三步执行完成后,i的值变成1,继续判断表达式,true则执行循环体语句,然后自增1为2. * 周而复始,直到表达式false,则这个循环停止。 * */ }
6 循环结构,while循环
package com.cnblogs.www.demo6; //循环结构,while循环 public class While { public static void main(String[] args) { //满足循环条件时,就会执行循环条件。 int x = 3; while( x < 7 ) { //判断表达式,返回true,则执行循环体。false则停止 System.out.println("value of x : " + x ); //循环体,输出语句 x++; //循环体,让变量自增1 } //不满足循环的条件时,不会执行,也就是没有任何内容,也不是空。这次我注意到这个错误了! int y = 5; while( y < 4) { System.out.println("value of y : " + y ); } } }
7 循环结构,do-while循环
package com.cnblogs.www.demo6; //循环结构,do-while循环 public class dowhile { public static void main(String[] args) { //即可条件不满足时,也至少执行一次 int x = 3; do{ System.out.println("value of x : " + x ); x++; }while( x < 2 ); //当条件满足时,会正常执行,也就是和while一样。 int y = 3; do{ System.out.println("value of y : " + y ); y++; }while( y < 7 ); } }
死循环
package com.cnblogs.www.demo6; //死循环 public class sixunhuan { public static void main(String[] args) { //永远停不下来的循环,这个Demo的原因:没有设置循环控制变量 //控制台上单击terminate按钮(红色方块)可以手动停止。Clear Console可以清空控制台显示的信息 for(int i = 1; i <= 10;) { System.out.println("Hello" +i); } } }
package com.cnblogs.www.demo6; //死循环练习 public class sixunhuan2 { public static void main(String[] args) { //这个Demo中,由于表达式的设计原因,就成了死循环,会一直循环。 for(int a =1; a > 0; a++) { System.out.println("Java" +a); } } }
循环嵌套
package com.cnblogs.www.demo6; //循环嵌套 public class qiantao { public static void main(String[] args) { //总共循环次数 = 外循环次数 * 内循环次数。 for (int hour = 0; hour < 24; hour++) { //for循环,控制小时 for (int minute = 0; minute < 60; minute++) { //循环体是另一个for循环,控制小时内的分钟 System.out.println(hour +"点" + minute + "分"); } } } }