1. if条件语句
- 基本if选择结构
可以处理单分支的if选择结构
if(条件){
//代码块;
}
- if-else选择结构
可以处理两个分支的if选择结构
if(条件){
//代码块1
}else {
//代码块2
}
- 多重if选择结构
可以处理多个分支的if选择结构
if(条件1){
//代码块1
}else if(条件2){
//代码块2
}else {
//代码块3
}
- 嵌套if选择结构
可以处理某分支中嵌套if结构的if选择结构
if(条件1){
if(条件2){
//代码块1
}else {
//代码块2
}
}else {
//代码块3
}
例:输入是否中奖500万,中奖则去买车、资助希望工程、去欧洲旅游;未中奖则去买下一期体彩,继续烧高香。
public static void main(String[]args){
Scanner input=new Scanner(System.in);
System.out.println("是否中奖500万?中奖则输入1,没中则输入0:");
int num = input.nextInt();
if (num==1){
System.out.println("买车、资助希望工程、去欧洲旅游");
}else {
System.out.println("买下一期体彩,继续烧高香");
}
}
2. switch选择结构
- switch写法
switch(表达式){
case:常量1
语句;
break;
case:常量2
语句;
break;
...(中间不限制case数)
default:
语句;
break;
}
switch后面的表达式可以填写的类型:int,short,byte,char,枚举,String类型
计算表达式的值,若等于某一个常量,则执行对应case后语句
break; 退出,否则会无条件执行后面的语句
平行结构,不受顺序影响,但需要break;
例:输入1拨打爸爸的电话,输入2拨打妈妈的电话,输入3拨打爷爷的电话,输入4拨打奶奶的电话
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("输入快捷键拨号:");
if(input.hasNextInt()){
//在赋值之前加入条件,否则输入整数以外的内容时会报错
//确保输入的值是整数
int num=input.nextInt();
switch (num) {
case 1:
System.out.println("爸爸的号码123456789");
break;
case 2:
System.out.println("妈妈的号码123456789");
break;
case 3:
System.out.println("爷爷的号码123456789");
break;
case 4:
System.out.println("奶奶的号码123456789");
break;
default:
System.out.println("快捷键不存在");
break;
}
}else {
System.out.println("输入有误,请输入整数");
}
}
补充:如果只要满足case1或case2都输出同一个语句,可以这样写
case1:
case2:
system.out.println("获得奖励")
总结:多重if选择结构与switch选择结构
-
相同点
都是用来处理多分支条件的结构 -
不同点
- switch选择结构:
对条件输入有类型限制
只能处理等值条件判断的情况 - 多重if选择结构:
没有switch选择结构的限制,特别适合于变量处于某个连续区间时的情况。
- switch选择结构: