程序的三大结构
三大结构分别是:顺序结构(从上到下执行)、选择结构、循环结构。
选择结构
if选择结构
单分支
if(条件表达式){
//条件为真的处理
}
双分支
if(5>3){
// 这里是条件为真的处理
System.out.println("这是真的");
}else{
//条件为假
System.out.println("这是假的");
}
多分支(多重if)(else if)
if(条件表达式){
//为真
}else if(条件表达式){
//为真
}
else if(条件表达式){
//为真
}
else if(条件表达式){
//为真
}else{
}
多个if
if(条件表达式){
// 这里是条件为真的处理
}
if(条件表达式){
// 这里是条件为真的处理
}
if(条件表达式){
// 这里是条件为真的处理
}
if(条件表达式){
// 这里是条件为真的处理
}
注意:多重if与多个if的区别:
- 多重if有一个条件为真后,不再执行其他判断
- 多个if每个条件都会进行判断
嵌套if
if 中可以嵌套if, 且可以是无限嵌套。
嵌套的越多,阅读性会越差,最好不要超2级,最最好只用一级。
if(条件表达式){
if(条件表达式){
}
}
if的使用场景
条件只有一个的,用单分支
条件有二个分支的,用双分支
条件有三个分支的,用多分支
条件不同时用嵌套;
特殊情况的if用法
当if 代码块,和else 代码只有一行语句时, 可以省略花括号; 但是不鼓励这样写。
if (5>3) System.out.println(true);
如果变量是boolean类型的,可以直接写变量名。
boolean result = false;
if(result){
System.out.println("结果为真");
}else{
System.out.println("结果为假");
}
switch选择结构
switch选择结构 ,通常用于等值判断。
语句格式
switch(算数表达式){
case 常量表达式1 :
语句块1
break;
case 常量表达式2 :
语句块2
break;
case 常量表达式3 :
语句块3
break;
default:
语句块;
}
switch选择结构的注意事项
1.switch 的表达式类型
int(byte short int char ) String(java 7 开始) 枚举(enum)
注: 不支持long
2. case 的值
case 的值不能重复
case 的值要和switch 表达式中的类型匹配或兼容
3. break
表示结束当前的switch
可以省略
4. case 穿透问题
如果case 条件已经满足,之后判断判断就不在进行,会从上向下进行执行,直到遇到break为止
5. default (缺省/ 默认)
当所有的case 都不满足时,执行default中的语句块,可以省略,也可以放在最前面,建议放在最后
选择结构的使用场景
switch 主要用于等值判断
if 主要用于范围