if(表达式){ 语句体; }
执行流程:
1.计算表达式,得到一个boolean结果
2.如果结果为true,执行{}中的语句体
3.如果结果为false,就不执行直接跳过if结构
//单选泽 if(i>0){ System.out.println("单选泽"); } if(false){ System.out.println("单选泽"); }
if(表达式1){ 语句体1; }else if(表达式2){ 语句体2; }else if(表达式3){ 语句体3; }.... else{ 如果以上的if条件都不满足就执行这个语句体n }
执行流程:
1.计算表达式1,得到一个boolean结果
2.如果结果为true,执行{}中的语句体1
3.如果结果为false,执行{}中的表达式2…
注意:
使用多选择与多个单选择之间区别 : 1)语义化结构 2)执行判断次数 3)执行语句体次数
当{}中的语句体只有一句时候,前后的{}可以省略
语法:
switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; case 值3: 语句体3; break; .... default://如果以上的case后的值与表达式的结果都不相等时候,执行default后的代码 语句体n; break; }
表达式 : 一般为一个 变量或者一个表达式
类型: byte,short,int,char,枚举(jdk5新增),String(jdk7)
case : 后面接一个定值,不能是区间,使用定值与表达式的结果进行判断,相等执行后面对应的语句体,不相等继续向下判断
break : 结束switch语句
防止case穿透问题
default : 默认的
如果以上的case后的值与表达式的结果都不相等时候,执行default后的代码
位置可变,可以在switch语句{}的任意位置
if与switch与条件运算符之间的区别:
条件运算符: 根据条件做判断 运算符 结构简单,受限制->判断条件单一,直接根据判断条件获取结果,肯定会得到一个结果
结构复杂使用if或者switch
if-> 定值判断,区间判断
switch->定值判断
能用switch的都能if,能用if不一定能用switch
建议: 简单合适结构可以条件运算符;复杂的,定值的可以使用switch;if则都可以使用
循环结构:控制一些代码重复执行多次
表达式与表达式之间用
;
隔开表达式可省略,但
;
不可省略执行顺序为:①->②->④->③->②->④->③…
for(①表达式1;②表达式2;③表达式3){ ④执行语句 }
与for循环相比,while更适合执行未暂定循环次数的循环
当表达式为true时,为死循环,常用于服务器
while循环与for可相互转换
while(表达式){ 执行语句 }
do while循环与while循环的区别在于:不管条件成立与否,都会先do(做)一次
do{ 执行语句 }while(表达式);
break
结束循环
continue
结束本次循环,进入下一次循环