switch与多重if"/>
switch与多重if
知识点:
结合运算符的优先级编写条件:
最高的优先级:( )
最低的优先级:=
优先级:!> 算术运算符 > 关系运算符 > && > ||
复杂条件使用括号提高可读性
嵌套if选择结构:
嵌套if控制语句可以通过外层语句和内层语句的协作,增强程序的灵活性
switch选择结构语法:
switch (表达式) :中的数据类型:int、short、byte、char、枚举类型、String
switch与多重if
相同点:
都是用来处理多分支条件的结构
不同点:
switch只能处理等值条件判断的情况
多重if选择结构没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况
练习代码:
public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入成绩");int score=sc.nextInt();if (score>90) {System.out.println("奖励跑车一辆");}if(score>=30&&score<50) {System.out.println("奖励打嘴巴一个");}if(score>=0&&score<30) {System.out.println("奖励大飞脚一个");}}
public static void main(String[] args) {Scanner sc1 = new Scanner(System.in);System.out.println("请输入java成绩");int score1=sc1.nextInt();System.out.println("请输入音乐成绩");int score2=sc1.nextInt();//提高可读性if ((score1>90&&score2>80)||(score1==100&&score2>70)){System.out.println("老师应该奖励他");}else {System.out.println("老师不该奖励他");}}
public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入分数:");int score=sc.nextInt();if(score>90&&score<=100) {System.out.println("你很棒");}else if(score>80&&score<=90) {System.out.println("你是个优秀的学生");}else if(score>70&&score<=80) {System.out.println("啥也不是");}}
public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入赛跑成绩:");double miao=sc.nextDouble();if(miao<=15) {System.out.println("恭喜您,进入决赛");System.out.println("请输入性别:");String sex=sc.next();if(sex.equals("男")) {System.out.println("进入男子组");}else if(sex.equals("男")){System.out.println("进入女子组");}else {System.out.println("出错了");}}else {System.out.println("快回家,再练练");}}
重点:equals比较的是值 ==比较的地址
public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入4位会员卡号:");int cardId = sc.nextInt();int bw=cardId/100%10;//生成随机数int random =(int)(Math.random()*10);//判断随机数与会员卡号的百位是否一样if (bw==random) {System.out.println("随机数是"+random);System.out.println("百位是"+bw);System.out.println("是幸运用户");}else {System.out.println("随机数是"+random);System.out.println("百位是"+bw);System.out.println("谢谢支持");}}
(int)(Math.random()*10)
Math是数学类,random()是Math类中的一个方法,random本身只产生(0~1)之间的小数
Math.random()*10 意思是产生0~10之间的小数 ,(int)(Math.random()*10)的意思是强制取整,把小数部分去掉只去整数部分,所以就变成了 产生0~9之间的整数
public static void main(String[] args) {Scanner input=new Scanner(System.in);System.out.println("请输入您心中的娱乐活动");int num=input.nextInt();switch(num) {case 1:System.out.println("请选择你喜欢的网游");break;case 2:System.out.println("请先洗澡");break;case 3:System.out.println("请选择您喜欢的电影");break;case 4:System.out.println("请选择麻将伙伴");break;default:System.out.println("请到5楼");break;}
}
更多推荐
switch与多重if
发布评论