选择结构
1. 定义
用于选择和判断,进行流程控制
2. if结构
-
单if语句
int money=20; if(money>100) { System.out.println("吃肯德基!"); }else{ System.out.println("吃炒粉!"); }
-
多重if语句
Scanner input=new Scanner(System.in); System.out.println("请输入分数:"); int score=input.nextInt(); //多重if结构,多重选择但是只会选择一种的情况下使用 if(score>90){ System.out.println("奖励兰博基尼一台"); }else if (score>=80) { System.out.println("奖励保时捷一台"); }else if (score>=60) { System.out.println("奖励大众"); }else{ System.out.println("不奖励"); }
-
嵌套if语句
Scanner input=new Scanner(System.in); System.out.println("请输入星期:"); int week=input.nextInt(); //嵌套if结构 用于复杂的判断, 先满足外层的if结构条件,再去执行内存if结构 if (week>=1&&week<=7) { if (week==1) { System.out.println("星期一吃炒粉"); }else if (week==2) { System.out.println("星期二吃沙县小吃"); }else if(week==3) { System.out.println("星期三吃兰州拉面"); }else if(week==4||week==5){ System.out.println("星期四和星期五都盖饭"); }else { System.out.println("其他时间吃肯德基"); } }else { System.out.println("输入错误,请输入合法的星期"); }
3. switch
Scanner input=new Scanner(System.in);
System.out.println("请输入星期:");
int week=input.nextInt();
switch(week){
case 1:
System.out.println("星期一吃炒粉");
break;
case 2:
System.out.println("星期一吃沙县小吃");
break;
case 3:
System.out.println("星期一吃兰州拉面");
break;
case 4:
System.out.println("星期一吃盖饭");
break;
case 5:
System.out.println("星期一吃盖饭");
break;
case 6:
System.out.println("星期一吃肯德基");
break;
case 7:
System.out.println("星期一吃肯德基");
break;
default:
System.out.println("输入错误,请输入合法的星期");
break;
}
&&和&的区别:
&&具有短路功能,当第一个条件为flase时,结果为flase,后面的就不用比较了。效率高,&都要比较,效率低。
两个值比较:
-
==是数值之间的比较,比较的内存地址,char类型也是用 == 比较, 比如sex == ‘男’。
-
equals()是字符串之间的比较,比较的是两个值是否相等,比如 “男生”.equals(sex),注意一定要把“男 生”值放前面,防止空指针异常。
随机数:
-
math类
//生成随机数 //0-1之间的小数 0.1 0.9 //随机生成1-10 int num=(int)(Math.random()*10)+1; System.out.println(num);
-
random类
Random(long seed)
4. 案例
public class lianxi {
public static void main(String[] args) {
//单价
int price = 0;
//物品
String wupin = "";
double zhekou = 1.0;
System.out.println("*****欢迎进入中兴爱买不买超市购物系统**********");
System.out.println("物品:1.T恤\t2.短裤\t3.帽子");
System.out.println("单价:¥10\t¥20\t¥5");
System.out.println("***********************************************");
Scanner in = new Scanner(System.in);
System.out.print("请选择商品编码购物商品:");
//商品编码
int count = in.nextInt();
boolean flag = true;
if(count == 1) {
wupin = "T恤";
price = 10;
}else if(count == 2) {
wupin = "短裤";
price = 20;
}else if(count == 3) {
wupin = "帽子";
price = 5;
}else {
flag = false;
}
if(!flag) {
System.out.println("抱歉,你选择错误!");
}else {
System.out.println("你选择的物品是:"+ wupin+",单价是:"+price);
System.out.print("请选择商品的数量:");
int shuliang = in.nextInt();
int sum = price*shuliang;
System.out.println("总金额:" + sum);
if(sum>200) {
zhekou = 0.8;
}else if(sum>=100) {
zhekou = 0.9;
}else {
zhekou = 1.0;
}
System.out.println("您的折扣是:" + zhekou);
//应付金额pay
double pay = sum * zhekou;
System.out.println("您应付金额:" + pay);
System.out.println("请支付金额:");
//支付金额out
double out = in.nextDouble();
if(out > pay) {
System.out.println("找零:" + (out-pay));
}else {
System.out.println("非常抱歉,您支付金额小于应付金额!");
}
}
}
}