一、switch语句
1、switch语句格式和执行流程:
格式:switch(){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
.....
default:
语句体n+1;
[break;]
}
执行流程:
首先计算表达式的值
依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束
如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束程序
2、案例:
使用switch语句完成控制台输出超市换购活动。
2.1代码实现:
package day02;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入消费金额:");
double amount=scanner.nextDouble();
System.out.println("是否参加优惠换购活动:");
System.out.println("1:满50,加2元换购百事可乐饮料一瓶");
System.out.println("2:满100,加3元换购500ml可乐一瓶");
System.out.println("3:满100,加10元换购5公斤面粉");
System.out.println("4:满200,加10元可换购一个苏泊尔炒菜锅");
System.out.println("5:满200,加20元可换购欧莱雅爽肤水一瓶");
System.out.println("0:不换购");
System.out.println("请选择:");
int activity=scanner.nextInt();
switch (activity){
case 1:
if (amount>=50){
System.out.println("本次消费金额:"+(amount+2));
System.out.println("成功换购百事可乐一瓶");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 2:
if (amount>=100){
System.out.println("本次消费金额:"+(amount+3));
System.out.println("成功换购500ml可乐一瓶");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 3:
if (amount>=100){
System.out.println("本次消费金额:"+(amount+10));
System.out.println("成功换购5公斤面粉");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 4:
if (amount>=200){
System.out.println("本次消费金额:"+(amount+10));
System.out.println("成功换购一个苏泊尔炒菜锅");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 5:
if (amount>=200){
System.out.println("本次消费金额:"+(amount+20));
System.out.println("成功换购欧莱雅爽肤水一瓶");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 0:
System.out.println("本次消费金额:"+amount);
break;
}
}
}
3、案例分析:
1、首先导入Scanner控制输入类:
import java.util.Scanner;
2、 实例化scanner类----构建scanner类对象
Scanner scanner=new Scanner(System.in);
3、初始化变量amount(消费金额)、activity(活动种类)
double amount=scanner.nextDouble();
int activity=scanner.nextInt();
4、使用switch语句选择参与活动的总类,使用if语句控制消费金额是否满足参加的活动
switch (activity){
case 1:
if (amount>=50){
System.out.println("本次消费金额:"+(amount+2));
System.out.println("成功换购百事可乐一瓶");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 2:
if (amount>=100){
System.out.println("本次消费金额:"+(amount+3));
System.out.println("成功换购500ml可乐一瓶");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 3:
if (amount>=100){
System.out.println("本次消费金额:"+(amount+10));
System.out.println("成功换购5公斤面粉");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 4:
if (amount>=200){
System.out.println("本次消费金额:"+(amount+10));
System.out.println("成功换购一个苏泊尔炒菜锅");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 5:
if (amount>=200){
System.out.println("本次消费金额:"+(amount+20));
System.out.println("成功换购欧莱雅爽肤水一瓶");
}else {
System.out.println("消费金额不足,不可参加本活动");
}
break;
case 0:
System.out.println("本次消费金额:"+amount);
break;
}