switch语句:
格式:
switch (key) {
case value:
break;
default:
break;
}
switch语句的特点:
1.表达式的类型可以是以下几种类型
byte short int char
2.case子句的取值必须是常量表达式,case子句可以有多个,但是不能够重复
3.default子句就类似于if语句中的else语句,表示一种其他的情况,
default也可以省略不写,但是建议写上,提高了程序的健壮性,default
子句可以出现在switch语句中的任意位置
4.break子句表示退出switch语句体,如果没有break子句,会出现
break穿透现象:在switch语句中,如果没有break,那么程序会从
上往下依次执行,直到碰到break语句或者碰到语句体结束的大括号为止。
eg:
package com.sxt;
import java.util.Scanner;
public class switchDemo02 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入消费金额:");
double money = input.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元可换购1个苏泊尔炒菜锅 ");
System.out.println("5:满200元,加20元换购欧莱雅爽肤水一瓶");
System.out.println("0:不换购");
System.out.print("请选择:");
int change = input.nextInt();
switch (change) {
case 1:
if (money < 50) {
System.out.println("对不起,您的购物金额小于50元,不能参与换购!");
} else {
System.out.println("本次消费金额:" + (money + 2));
System.out.println("成功换购了:百事可乐饮料一瓶");
}
break;
case 2:
if (money < 100) {
System.out.println("对不起,您的购物金额小于100元,不能参与换购!");
} else {
System.out.println("本次消费金额:" + (money + 3));
System.out.println("成功换购了:500ML可乐一瓶");
}
break;
case 3:
if (money < 100) {
System.out.println("对不起,您的购物金额小于100元,不能参与换购!");
} else {
System.out.println("本次消费金额:" + (money + 10));
System.out.println("成功换购了:5公斤面粉");
}
break;
case 4:
if (money < 200) {
System.out.println("对不起,您的购物金额小于200元,不能参与换购!");
} else {
System.out.println("本次消费金额:" + (money + 10));
System.out.println("成功换购了:一个苏泊尔炒菜锅");
}
break;
case 5:
if (money < 200) {
System.out.println("对不起,您的购物金额小于200元,不能参与换购!");
} else {
System.out.println("本次消费金额:" + (money + 20));
System.out.println("成功换购了:欧莱雅爽肤水一瓶");
}
break;
case 0:
System.out.println("本次消费金额:" + (money));
break;
default:
System.out.println("对不起,您输入的选项有误!");
break;
}
}
}