目录
流程控制
顺序结构
分支结构
单分支结构
多分支结构
嵌套分支结构
选择结构
执行顺序
注意事项
循环结构
指在程序运行时,个别的指令(或是陈述、子程序)运行或求值的顺序。
基本的流程结构:顺序结构,分支结构,选择结构,循环结构。
1、顺序结构从头到尾所有代码依次都会执行到
2、可以解决输入 输出 计算等问题,但是不可以先做判断,再选择性的执行代码
根据指定变量或表达式的结果,决定后续运行的程序,最常用的是if-else指令,可以根据指定条件是否成立,决定后续的程序。也可以组合多个if-else指令,进行较复杂的条件判断。
/*单分支结构*/ int a = 15; if(a>10) {//判断条件 System.out.println(a);//如果判断条件的结果为true,才执行此行代码 }
/*多分支结构*/ char gender = '男';//定义性别为男 if(gender == '男') { System.out.println("男生可以玩滑板"); }else { System.out.println("女生也可以玩滑板~"); }
package com.jt.zero; public class one { public static void main(String[] args) { /*if(判断条件1) { 如果符合判断条件1,执行此处代码1,如果不符合,继续向下判断条件2 }else if(判断条件2) { 如果符合判断条件2,执行此处代码2,如果不符合,继续向下判断条件3 }else if(判断条件3) { 如果符合判断条件3,执行此处代码3,如果不符合,继续向下判断 }else { 如果以上条件都不满足,执行此处代码 }*/ int a = 88; if(a<60){ System.out.println("不及格"); }else if (a >= 60 & a < 80){ System.out.println("及格"); }else if (a >= 80 & a < 90){ System.out.println("良好"); }else { System.out.println("优秀"); } } }
switch-case语句具有穿透效果,所以需要在每一个case语句后加上break。break表示中断,如果不加break,那么程序就会把"星期三"下面的所有语句都打印出来,直到遇到break。而为了防止超出选择范围,没有数据打印出来。通常我们会设置一个保底选项default,如果超出选择范围,那么就打印default语句。
package com.jt.zero; public class one { public static void main(String[] args) { /*switch(a){ case 1 : 操作1;break;【可选】 case 2 : 操作2;break;【可选】 case 3 : 操作3;break;【可选】 case 4 : 操作4;break;【可选】 default : 保底选项;【可选】 }*/ /** * break 中断 */ String a = "星期三"; switch (a){ case "星期一" : System.out.println("今天星期一"); break; case "星期二" : System.out.println("今天星期二"); break; case "星期三" : System.out.println("今天星期三"); break; case "星期四" : System.out.println("今天星期四"); break; case "星期五" : System.out.println("今天星期五"); break; case "星期六" : System.out.println("今天星期六"); break; case "星期日" : System.out.println("今天星期日"); break; default: System.out.println("输入错误"); } } }
先拿着变量a的值,依次与每个case后的值做比较,如果相等,就执行当前case后的操作,若case后没有break,就绪继续执行下一个case后的操作,如果一直没有遇到break,就会发生穿透的现象,包括default
1、变量a支持的类型byte short char int String
2、变量a的数据类型与case后value的数据类型必须一致
3、如果没有添加break,并且又有case被匹配到,会发生穿透的现象,包括deafult
4、case的个数 是否加break 是否加default 完全根据自己的业务来决定
5、如果添加了default保底选项,又没有任何一个case被匹配到,就会执行default后的语句
6、一般我们习惯在每个case后加break【这个只是建议,具体还是根据业务来写】
格式一:
for(开始条件 ; 循环条件 ; 更改条件){
循环体
}
格式二(嵌套for循环):
for(开始条件 ; 循环条件 ; 更改条件){ //外层循环
for(开始条件 ; 循环条件 ; 更改条件){ //内层循环
循环体
}
}
注意:
注意1:写法小窍门:从哪开始 到哪结束 循环变量如何变化
注意2:for循环能够执行多少次,取决于循环变量可以取到几个值
package com.jt.zero; /*九九乘法表*/ public class one { public static void main(String[] args) { /*for(开始条件 ; 循环条件 ; 更改条件){ //外层循环 for(开始条件 ; 循环条件 ; 更改条件){ //内层循环 循环体 } }*/ /** * t代表table表格的意思,为了转变字母t的含义,需要使用转义字符\ * 所以“\t”代表的是一个制表符 */ for (int i = 1; i <=9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + (i * j) + "\t"); } System.out.println( ); } // 1*1=1 // 1*2=2 2*2=4 // 1*3=3 2*3=6 3*3=9 // 1*4=4 2*4=8 3*4=12 4*4=16 // 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 // 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 // 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 // 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 // 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 } }