打印快捷方式 syso alt+/ sout alt+/
source-->Format 代码格式化
加注释 ctrl + /
快捷main方法 main alt+/
java流程控制之分支判断
# 学习要点
1.语法格式
2.条件要考虑周全
3.执行流程绝对掌控
# 语法格式
# 单if版本 穷举
if(条件){
如果条件成立,才会执行
}
if(条件){
如果条件成立,才会执行
}
if(条件){
如果条件成立,才会执行
}
注意:这些判断都是互相独立,互不影响
# 双人组合版 if else
if(条件){
如果条件成立,才会执行
}else{
否则执行这里的代码
}
注意:绝对会走企鹅仅会走其中一路分支
# 多人团体 if else if ... else if ... else
if(条件1){
如果条件1成立,执行这里
}else if(条件2){
如果条件2成立,执行这里
}else if(条件3){
如果条件3成立,执行这里
}else if(条件n){
如果条件n成立,执行这里
}else{
以上条件都不成立,执行这里
}
注意:在这么多判断中,绝对会走且只会走其中一路分支
# 案例1:
语音播报,连续杀人
根据累计杀人数,来播放不同的音效
3人:killing spree 大杀特杀
4人:rampage 暴走
5人:unstoppable 无人能当
6人:dominated 主宰比赛
7人:god like 接近神
8人及以上:legrndary 超神
# 案例2:
普通攻击 普攻 平A
命中率:90% 90 (1~100) 1~90 打中了 91~100 没打中miss
暴击率:50% 50 (1~100) 1~50 暴击了 51~100 没暴击
随机数:
工具人: random ran = new Random()
使用:ran.nextInt(n) 随机0~n-1 之间的随机数(0~n-1)
# switch格式
注意:switch中的条件绝对不是布尔类型,
必须是byte short int char 中的一种,到了jdk8 还支持字符串、*枚举
case 后的值 数据类型必须和 条件 的数据类型一致
并且,每一个分支case的值不能重复
break:在switch中代表结束/终止 当前的分支判断
switch(条件){
case 值1:
如果值1匹配条件的结果,就执行这里的代码
break;
case 值2:
如果值1匹配条件的结果,就执行这里的代码
break;
case 值3:
如果值1匹配条件的结果,就执行这里的代码
break;
case 值n:
如果值1匹配条件的结果,就执行这里的代码
break;
default:
以上条件都不成立,执行这里
break;
}
# 案例3:
工具人:Scanner
创建工具人:Scanner scan = new Scanner(System.in); IO流 输入流
输出流:System.out.println()
使用工具人:
scan.nextInt() 往控制台输入一个int类型整数
按“enter”键,
scan.next() 往控制台输入一个字符串
注意:如果要使用输入流Scanner,必须在调用方法之前,
要有提示用户的动作“请输入一个整数”
根据键盘输入一个1-7之间的整数,来答应对应的星期数
枚举通常是一组相关的常量集合,其他编程语言很早就开始用枚举了,比如C++。从JDK1.5起,Java也开始支持枚举类型。
枚举是一种特殊的数据类型,它既是一种类(class)类型却又比类类型多了些特殊的约束,这些约束也造就了枚举类型的简洁性、安全性以及便捷性。
在Java中,通过enum来声明枚举类型,默认继承自java.lang.Enum。所以声明枚举类时无法再继承其他类。
枚举声明
在生活中我们会经常辨认方向,东南西北,它们的名称、属性等基本都是确定的,我们就可以将其声明为枚举类型:
public enum Direction {
EAST, WEST, NORTH, SOUTH;
}
同样,每周七天也可以声明成枚举类型:
enum Day {
MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY, SUNDAY
}