if语句格式
- if (关系表达式) {
语句体;
} - if (关系表达式) {
语句体1;
} else {
语句体2;
} - if (关系表达式1) {
语句体1;
} else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
考试奖励if小练习
需求:小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。
95~100 自行车一辆
90~94 游乐场玩一天
80 ~ 89 变形金刚一个
80 以下 胖揍一顿
分析:
①小明的考试成绩未知,可以使用键盘录入的方式获取值
②由于奖励种类较多,属于多种判断,采用if…else…if格式实现
③为每种判断设置对应的条件
④为每种判断设置对应的奖励
package come.itheima.practice;
import java.util.Scanner;
public class p2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入小明成绩");
int score = sc.nextInt();
if(score >= 0 && score <= 100) {
if (score >= 95 && score <= 100) {
System.out.println("奖励自行车一辆");
} else if (score >= 90 && score <= 94) {
System.out.println("奖励游乐园玩一天");
} else if (score >= 80 && score <= 89) {
System.out.println("奖励变形金刚一个");
} else {
System.out.println("胖揍一顿");
}
}else{
System.out.println("输入的成绩无效");
}
}
}
switch语句
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
- default可以放在任意位置,也可以省略
- 不写break会引发case穿透现象
switch在JDK12的新特性:
switch (表达式) {
case 1 -> 语句体1;
case 2 ->{
语句体2;
语句体2;
}
…
default: -> 语句体n;
break;
}
休息日和工作日switch小练习
需求:键盘录入星期数,输出工作日或者休息日。
(1-5) 工作日,(6-7)休息日。
package come.itheima.Test;
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入星期");
int week = sc.nextInt();
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("休息日");
break;
default:
System.out.println("没有这个星期");
break;
}
}
}
利用JDK12简化代码书写:
package come.itheima.Test;
import java.util.Scanner;
public class Test10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请录入星期");
int week = sc.nextInt();
switch (week){
case 1, 2, 3, 4, 5 -> {
System.out.println("工作日");
System.out.println("是工作日");
}
case 6, 7 -> System.out.println("休息日");
default -> System.out.println("没有这个星期");
}
}
}
引用
https://www.bilibili.com/video/BV17F411T7Ao?spm_id_from=333.999.0.0
以上内容仅作为个人学习笔记,无商业行为。