选择结构
if else
if 单条件
if( score > 90){
给予奖励
}
双条件分支
if(){
给于奖励
}else{
给予惩罚
}
多条件
多重分支
if(score > 80){
成绩优秀
}else if(score > 60){
成绩合格
}...{
}else{
不及格
}
问题 多重if选择结构中各个条件的顺序可以任意排列吗?
嵌套
int score = 70;
if(score > 80){
System.out.println("成绩优秀");
}else{
// 成绩一定不是大于80的
if(score > 60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}
案例 掷骰子
// 使用随机数 获得 一个 1-6 之间的一个数(掷骰子)
用户猜 大小
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
// 掷骰子 获取随机数
// 1 - 6 之间的随机数
int no1 = (int)(Math.random()*6 + 1);
int no2 = (int)(Math.random()*6 + 1);
int no3 = (int)(Math.random()*6 + 1);
System.out.println("掷骰子完毕, 开始猜大小!!");
// 接收用户传入的汉字
String s = input.next();
// 开 开
// 筛子的 点数
System.out.println(no1+"\t"+no2+"\t"+no3);
// 根据筛子 查看 到底是大是小
String s1 ;
if( (no1 + no2 + no3) > 9){
s1 = "大";
}else{
s1 = "小";
}
// 用户 猜的 和实际的点数 比较 如果一致 猜对了, 如果不一致猜错了
if(s.equals(s1)){
System.out.println("恭喜, 猜对了");
}else{
System.out.println("猜错了");
}
}
switch
格式
switch(表达式){
case 值1 :
执行语句;
break;
case 值2 :
执行语句;
break;
default :
如果以上条件都没有满足的;
}
注意点
从匹配到的case 开始 到 break 结束 , 不能漏写 break;
default 的顺序 不能乱. 必须写在最后
swit