1.选择结构概述
程序流程控制方式:顺序结构
选择结构
循环结构
选择结构概念:根据条件选择执行的流程
分类:if(){} 基本
If(){}else{} 基本
多重if:if(){} else if{}else if(){}
嵌套if:if(){
If(){
}else if(){
}
}
2.基本if选择结构
语法:
If(boolean表达式){
执行的命令
}else{
}
注意:boolean表达式就是指能够返回true或false的表达式
案例:
需求说明:正确使用条件运算符判断一个数字是否为偶数,偶数的定义是可以被2整除的数,即这个数“%2”,结果为0就是偶数,程序执行效果参考下图。
public class Demo2{
Public static void main(String[] args){
/*
* 正确使用条件运算符判断键盘输入的一个数字是否为偶数
*/
//1.创建scanner对象
Scanner input=new Scanner(System.in);
//2.输出提示信息
System.out.println("请输入一个数字:");
//3.获取用户输入的数字
int num = input.nextInt();
//4.判断用户输入的是否是偶数
if(num%2==0){
System.out.println(num+"是一个偶数");
}else{
System.out.println(num+"是一个奇数");
}
}
}
3.嵌套if选择结构
语法:
If(){
If(){
If(){
}
}
}
思考:能不能无穷嵌套?建议:最多嵌套3层
案例:
需求说明:正确使用嵌套if选择结构,实现根据比赛成绩以及性别,对选手进行分组,效果如下图所示。当成绩小于等于“10秒”时,选手有资格进入决赛,对于进入决赛的选手再对性别“男和女”分别进入“男子组决赛”或“女子组决赛”。
public class Demo1{
Public static void main(String[] args){
//获取键盘输入的比较结果
//1.创建scanner对象
Scanner input = new Scanner(System.in);
//2.提示输入成绩
System.out.println("请输入比赛成绩:");
//3.接收用户输入的数据
int time = input.nextInt();
//4.判断是否小于等于10,如果满足进入决赛
if(time<=10){
//提示用户输入性别:
System.out.println("请输入性别:1.男 2.女");
if(input.hasNextInt()){ //hasNextInt():是否有int类型接收 true:有int接收,false:表示非int类型
int chooseNo = input.nextInt();//选择的性别的编号
if(chooseNo==1){
System.out.println("进入男子决赛组");
}else{
System.out.println("进入女子决赛组");
}
}else{
System.out.println("当前系统版本不支持该操作。。。");
}
}
}
}
4.多重if选择结构
语法:
If(boolean表达式){
}else if(boolean表达式){
} else if(boolean表达式){
}else{
}
思考:else if个数有没有限制呢?
答案是没有
5.switch选择结构
语法:
switch(表达式){
case 值1:
语句;
break;
case 值2:
语句;
Break
。。。。
case 值n:
语句;
break;
default:
语句;
break;
}
注意事项:
1、case后面一定是常量
2、switch(表达式)中的表达式在JDK1.7以后 int short long byte char String 枚举,JDK1.7以前不支持String类型
3、default中的break不能省略
适用于:等值判断的场景