if选择结构
文章目录
前言
选择结构:根据条件判断结果选择不同的处理结果
一、基本的if选择结构(单分支选择结构)
1、语法结构
if (条件) {
// 代码块;
}
2、执行规律
判断条件,如果为true,执行{}里的代码块结束if结构,继续执行if结构后面的代码;如果为false,则直接跳过if结构,继续执行if结构后面的代码
3、注意
条件必须为布尔值,不管条件写的简单或复杂,都只能是true或false
// 例:当某同学数学成绩大于90分,老师奖励小红花
// 导入import java.util.Scanner,用Scanner键盘输入某同学成绩
// 方式一:可以使用条件运算符实现
// 方式二:使用基本if选择结构实现
Scanner scanner = new Scanner(System.in);
System.out.println("请输入该同学成绩:");
int score = scanner.nextInt();
// 使用条件运算符实现
String result = score > 90 ? "老师奖励小红花!" : "没有奖励继续努力";
System.out.println(result);
// if选择结构
if (score > 90) {
System.out.println("老师奖励小红花!");
}
二、使用if-else选择结构(双分支选择结构)
1、语法结构
if (条件) {
// 代码块1;
}else {
// 代码块2;
}
2、执行规律
判断条件,如果条件为true,执行代码块1,结束if-else结构,执行后续代码;如果条件为false,执行代码块2,结束if-else结构,执行后续代码
// 如果Java考试成绩大于90分,奖励鼠标一个,否则就罚俯卧撑
double javaScore = 99.5;
if (javaScore > 90) {
System.out.println("恭喜获得鼠标一个!");
} else {
System.out.println("奖励24个俯卧撑!");
}
System.out.println("请继续努力!");
三、使用多重if选择结构(多分支选择结构)
1、语法结构
if (条件1) {
// 代码块1
} else if (条件2) {
// 代码块2
} ......{
} else if (条件n) {
// 代码块n
} else {
// 代码块m
}
2、执行规律
首先判断条件1,如果条件1为true,则执行代码块1,结束整个if-else-if结构,执行后续代码;如果条件1为false,则继续判断条件2,如果为true,则执行代码块2,结束整个if-else-if结构,执行后续代码;如果如果条件2为false。。。。。。则继续判断条件n,如果为true,则执行代码块n,结束整个if-else-if结构;如果条件为false,则执行代码块m,结束整个if-else-if结构。
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的成绩:");
double score = scanner.nextDouble();
if (score >= 80){
System.out.println("您的成绩良好!");
} else if (score >= 60) {
System.out.println("您的成绩中等!");
} else {
System.out.println("您的成绩较差!");
}
// 注意:使用多重if选择语句处理问题时需要注意顺序
四、使用if嵌套选择结构(多分支选择结构)
1、语法结构
if (条件1) {
// 代码块1
if(条件2){
// 代码块2
}else{
// 代码块3
}
} else {
// 代码块4
if(条件3){
// 代码块5
}else{
// 代码块6
}
2、执行规律
if里面套if,判断是否符合条件再判断
// 学校举行运动会,百米赛跑跑入10秒内的学生有资格进决赛,根据性别分别进入男子组和女子组
// 提示:字符串的比较使用equals(),sex.equals("男"); 结果为布尔值
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的百米赛跑成绩:");
double runScore = scanner.nextDouble();
// 判断是否进入决赛
if (runScore < 10){
System.out.println("恭喜你进入决赛!");
System.out.println("请输入你的性别:");
String gender=scanner.next();
// 判断性别分为男子组与女子组,使用嵌套if选择结构
if (gender.equals("男")){
System.out.println("进入男子组决赛");
} else if (gender.equals("女")){
System.out.println("进入女子决赛组");
} else {
System.out.println("输入有误请重新输入");
//如何实现循环,输入有误时可再次输入
}
} else {
System.out.println("很遗憾没进入决赛");
}
3、注意
多重if-else的使用条件为并列关系,判断是否满足条件1,否则判断是否满足条件2
嵌套if-if的使用条件为递进关系,满足条件1后,再判断是否满足条件2,否则判断条件3
五、练习
1、根据天气决定活动
/*根据天气,决定活动是在室外进行还是在室内进行,再根据温度决定活动的内容
阴天:室外活动
>28°室外游泳
<=28°室外篮球
晴天:室内活动
>30°看电影
<=30°敲代码,学习
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入今日是晴天还是阴天:");
String weather=scanner.next();
if (weather.equals("晴天")){
System.out.println("今日适合室内运动");
System.out.println("请输入今日的温度:");
double tem1=scanner.nextDouble();
if(tem1 > 30){
System.out.println("电影");
}else if (tem1 <= 30){
System.out.println("学习");
}
}else if (weather.equals("阴天")){
System.out.println("今日适合室外运动");
System.out.println("请输入今日的温度:");
double tem2= scanner.nextDouble();
if(tem2 > 28){
System.out.println("游泳");
}else if (tem2 <= 28){
System.out.println("篮球");
}
}
2、实现幸运抽奖
// 实现幸运抽奖,会员卡号百位数字等于产生的随机数字即为幸运会员
// ------提示:产生随机数int random=(int)(Math.random()*10);------
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的四位会员卡号:");
int num = scanner.nextInt();
int baiwei = num/100%10;
System.out.println("您输入的会员卡号百位:"+baiwei);
// 判断百位是否等于产生随机数
// 产生随机数范围在(0到9)
int random=(int)(Math.random()*10);
// 测试随机数的输出
System.out.println(random);
if (baiwei==random){
System.out.println("恭喜您成为幸运会员!");
}else{
System.out.println("感谢您的支持,再见!");
}