文章目录
一、if条件控制
1、简单说明
和其他编程语言的用法是一样的,
if(条件1){
执行语句1;
}else if(条件2){
执行语句2;
}else{
执行语句3;
}
小括号内是判断条件,条件满足就执行大括号的内容,否则就执行else中的内容。
2、案例步骤:输入考试成绩,输出奖金
(1)使用scanner录入考试成绩
(2)判断成绩是否在合法范围内0~100非法的话,给出错误提示
(3)在合法的语句块中判断成绩范围符合哪一个奖金并给出对应的奖励。
3、参考源码
import java.util.Scanner; //导入键盘输入的库
public class Test02{
//类名定义(有public的必须和文件名同名)
public static void main(String[] args){
//主函数定义
Scanner sc = new Scanner(System.in); //实例化出一个键盘输入的对象sc
System.out.println("请输入你的成绩:"); //提示输入的语句
int score = sc.nextInt(); //使用Scanner的对象sc录入考试成绩
if(score >= 90 && score <=100){
System.out.println("恭喜你,获得了100刀大奖!"); //给出奖金
}else if(score >= 80 && score <90){
System.out.println("恭喜你,获得了80刀大奖!"); //给出奖金
}else if(score >= 60 && score <80){
System.out.println("恭喜你,获得了50刀大奖!"); //给出奖金
}else if(score >= 0 && score < 60){
System.out.println("恭喜你,获得了1刀小奖,还是好好努力吧~~"); //给出奖金
}else{
//如果分数不在0-100之间,则提示输出错误
System.out.println("你输入的成绩有错,请你诚实!");
}
}
}
二、switch条件控制语句
1、简单说明
swtich(表达式或变量){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
......
default:
语句体n;
}
将要被匹配的值,取值为byte、short. int. char , JDK5以后可以是枚举,JDK7I以后可以是String。
case:后面跟的是要和表达式进行比较的值(被匹配的值)。
break:表示中断,结束的意思,用来结束switch语句。
default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
2、switch穿透现象
(1)在switch语句中,如果case控制的语句体后面不写break ,将出现穿透现象。
(2)具体表现为当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行直到看见break ,或者将整体switch语句执行完毕,才会结束。
(3)应用场景是当发现switch语句中,多个case给出的语句体出现了重复的,就可以考虑使用case穿透来优化代码。
3、案例:输入星期,输出是否为工作日
import java.util.Scanner; //导入键盘输入的库
public class Test02{
//类名定义(有public的必须和文件名同名)
public static void main(String[] args){
//主函数定义
Scanner sc = new Scanner(System.in); //实例化出一个键盘输入的对象sc
System.out.println("今天星期几:"); //提示输入的语句
int this_week = sc.nextInt(); //(1)使用Scanner的对象sc录入星期数
switch(this_week){
case 1: //利用穿透现象,因为星期1-星期5都是工作日
case 2:
case 3:
case 4:
case 5:
System.out.println("好好加油,今天是工作日!"); //给出为工作日
break;
case 6:
System.out.println("好好休息,今天是休息日~"); //给出为休息日
break;
case 7:
System.out.println("准备出发,今天是出游日~"); //给出为出游日
break;
default:
System.out.println("请你诚实,没有星期" + this_week + "哦!"); //给出为错误提示
}
}
}