本课目标
掌握switch选择结构
能够综合运用选择结构解决问题
1.switch选择结构
switch 具有穿透性,结尾的 break 不能少
case后面的常量必须各不相同
default一般放在末尾
2.比较 switch 和多重 if 选择结构
相同点:都是用来处理多分支条件的结构
不同点:switch 选择结构只能处理等值条件判断的情况
多重if选择结构,没有switch的限制,特别适合某个变量处于某个连续区间的情况
3.Java中的选择结构
if选择结构,包括以下形式:
基本if选择结构:可以处理单一或组合条件的情况
if-else选择结构:可以处理简单的条件分支情况
多重if选择结构:可以处理分段的条件分支情况
嵌套if选择结构:可以处理复杂的条件分支情况
switch选择结构
多重分支并且条件判断是等值判断的情况
案例
1.为小明制定学习计划,星期一、三、五,学习编程;星期二、四、六,学习英语;星期日休息
2.
public class ShoppingMenu {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("欢迎使用我行我素购物管理系统");
System.out.println("1.登陆系统");
System.out.println("2.退出");
System.out.print("请输入数字:\t");
int num = sc.nextInt();
switch (num){
case 1:
System.out.println("1.客户信息管理");
System.out.println("2.购物结算");
System.out.println("3.真情回顾");
System.out.println("4.注销");
System.out.println("请选择");
num = sc.nextInt();
switch (num){
case 1:
System.out.println("购物管理系统>客户信息管理");
System.out.println("1.显示所有客户信息");
System.out.println("2.添加客户信息");
System.out.println("3.修改客户信息");
System.out.println("4.查询客户信息");
break;
case 2:
System.out.println("购物管理系统>购物结算");
break;
case 3:
System.out.println("购物管理系统>真情回馈");
System.out.println("1.幸运大放送");
System.out.println("2.幸运抽奖");
System.out.println("3.生日问候");
break;
case 4:
System.out.println("购物管理系统>注销");
break;
}
case 2:
break;
default:
System.out.println("输入有误,请重新输入");
}
}
}
3.
public class Commodity {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入消费金额:");
double money = sc.nextDouble();
System.out.println("是否参加优惠换购活动");
System.out.println("1:满50元,加2元换购百事可乐饮料1瓶");
System.out.println("2:满100元,加3元换购500ml可乐一瓶");
System.out.println("3:满100元,加10元换购5公斤面粉");
System.out.println("4:满200元,见10元课换购1个苏泊尔炒菜锅");
System.out.println("5;满200元,加20元可换购欧莱雅爽肤水一瓶");
System.out.println("0:不换购");
System.out.println("请选择");
int num = sc.nextInt();
switch (num){
case 1://满50元,加2元换购百事可乐饮料1瓶
money += 2;
if (money >= 50){
System.out.println("成功换购:百事可乐饮料1瓶");
}else {
System.out.println("您的消费金额不满足参加此活动");
}
break;
case 2://满100元,加3元换购500ml可乐一瓶
money += 3;
if (money >= 100){
System.out.println("成功换购:500ml可乐一瓶" );
}else {
System.out.println("您的消费金额不满足参加此活动");
}
break;
case 3://满100元,加10元换购5公斤面粉
money += 10;
if (money >= 100){
System.out.println("成功换购:5公斤面粉" );
}else {
System.out.println("您的消费金额不满足参加此活动");
}
break;
case 4://满200元,见10元课换购1个苏泊尔炒菜锅
money += 10;
if (money >= 200){
System.out.println("成功换购:1个苏泊尔炒菜锅" );
}else {
System.out.println("您的消费金额不满足参加此活动");
}
break;
case 5://满200元,加20元可换购欧莱雅爽肤水一瓶
money += 20;
if (money >= 200){
System.out.println("成功换购:欧莱雅爽肤水一瓶" );
}else {
System.out.println("您的消费金额不满足参加此活动");
}
break;
case 0://顾客不换购
System.out.println("不换购");
break;
default:
//顾客不换购
System.out.println("输入有误,请重新输入");
}
System.out.println("本次消费总金额:" + money);
}
}
总结