知识点:
结合运算符的优先级编写条件:
最高的优先级:( )
最低的优先级:=
优先级:!> 算术运算符 > 关系运算符 > && > ||
复杂条件使用括号提高可读性
嵌套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;
}
}