1. 掌握if(如果)选择(分支)结构
注意:
经常会用到标志位,定义标志位的时候 也得考虑其位置 是局部变量还是全局变量
掌握基本if
if(条件){// 条件成立时执行的内容
}
掌握if-else(互斥)
if(条件){// 条件成立
}else{// 条件不成立
}
一般流程图也是这样
掌握多重if
if(条件1){}else if(条件2){}else{....
}
注意事项:
- 自上而下执行条件判断,只要有一个条件满足 剩下的条件不再执行
- 可以结合n个else if,但是else if不能单独使用
- 可以结合else使用
- 多重if如果是范围性的判断 必须要注意顺序
掌握嵌套if+Math.random用法
一个选择结构里 可以继续嵌套n层选择结构 而且没有强制要求必须是哪种
if(){if(){....}
}
public class Demo1 {public static void main(String[] args) {// 需求:坐地铁double theLengthOfKnife = 8;int hasTicket = 1; // 1 有票 0无票// 1.如果安检过程中检查到你携带的大刀超过了9cmif(theLengthOfKnife < 9) {System.out.println("进站准备检票");// 2.如果安检通过了 你有票就可以进站if(hasTicket == 1) {System.out.println("这是开往幼儿园的车!");}else {System.out.println("没票只能在大厅转悠一下了!");}}else {System.out.println("带走!怎么哪都有你!");}}}
public class Test1 {public static void main(String[] args) {// [0.0,1.0)// double random = Math.random();// System.out.println(random);// [0.0,1.0) -> [0.0,1.0)*10 -> [0.0,10.0)// [0.0,1.0) -> [0.0,1.0)*11 -> [0.0,11.0)+9 -> [9.0,20.0)// 随机数公式:(int)(Math.random() * (最大值-最小值)) + 最小值// 生成随机数字 0-9 [0,10)int random = (int) (Math.random() * 10);System.out.println("生成的随机数字:" + random);Scanner input = new Scanner(System.in);System.out.print("请输入您的会员卡号:");int vip = input.nextInt();// 如果会员卡号的百位数字和随机数相等 即中奖int bai = vip / 100 % 10;System.out.println("会员卡号的百位数字是:" + bai);if (bai == random) {System.out.println("恭喜你!中奖了!");} else {System.out.println("很遗憾!再来一次!");}}}
2. 掌握switch(开、关)选择(分支)结构
Cannot switch on a value of type double. Only convertible int values, strings or enum variables are permitted
switch的表达式只支持 int String enum(枚举)。
自动类型转换:
byte short -> int
char -> int
JDK是在1.7版本支持String类型的。
switch(表达式){case 常量1:// 执行语句break;case 常量2:// 执行语句break;....default:// 执行语句break;
}
注意事项:
-
switch只能用于等值判断
-
switch中的每一个case后都必须加上break,否则会出现case穿透
break有时候不加会有特别的效果,根据你需求决定,但一般采用上方规范。
-
无论是否需要默认情况,都推荐加上default
public class Demo5 {public static void main(String[] args) {int level=1;switch(level) {case 1:System.out.println(1);break;case 2:System.out.println(2);break;default:System.out.println(3);break;}}}
//注意switch的穿透性
public class Demo5 {public static void main(String[] args) {int level=1;switch(level) {case 1:case 2:System.out.println(2);break;default:System.out.println(3);break;}}
}