选择结构(if;if-else;多重if;嵌套if选择结构;switch)
if选择结构
if(条件){
//代码块
}
特点:if条件结果必须为布尔值;大括号在代码块只有一行时可以省略,但不建议省略。
流程图
if-else选择结构
if(条件){
//代码块1
}else{
//代码块2
}
流程图
补充
产生随机数的方法(0-9)
int random=(int)(Math.random()*10)
多重if
数值被分为几个区间 单个if选择结构无法完成 多个if选择结构很麻烦 选用多重if选择结构
if(条件1){
//代码块1
}else if(条件2){
//代码块2
}else {
//代码块3
}
特点:else if() 可有多个 最后一个else可以省略
流程图
嵌套if选择结构
if(条件1){
if(条件2){
//代码块1
}else{
//代码块2
}
}else{
//代码块3
}
流程图
if选择结构的总结:
基本if选择结构:可以处理单分支的if选择结构
if-else选择结构:可以处理两个分支的if选择结构
多重if选择结构:可以处理多个分支的if选择结构
嵌套if选择结构:可以处理某分支中嵌套if结构的if选择结构
switch选择结构
switch(表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
...
default:
语句;
break;
}
特点:表达式可为int、short、byte、char、String、枚举类型;常量为表达式的值;default表示没有找到匹配的值;case后的常量必须各不相同
switch和if都是用来处理多分支条件的结构,但switch只能处理等值条件判断的情况,而多重if特别适合某个变量处于某个连续区间时的状况。
处理系统异常
if(input.hasNextInt()){
...
}else{
System.out.println("请输入正确的数字!");
}
通过hasNext()可以用来解决输入异常的问题