// if(){}else if(){}...else{}
// 多种条件,多种情况下的判断语句
// 必须要注意
// 1,else if 之后有() 可以写判断条件
// 2,else 之后,是不能有(),不能写条件
// 3,else if 之间必须有空格
// 4,else 其中执行的程序,往往是容错处理
// 执行过程和执行原理
// 从第一个条件(if小括号中的条件)开始判断
// 如果是true,就执行{}中对应的程序内容
// 如果是false,就是执行下一个else if,()中的条件
// 如果是true,就是执行{}中对应的程序内容
// 如果是false,就是执行下一个else if,()中的条件
// 如果是true,就是执行{}中对应的程序内容
// 如果是false,就是执行下一个else if,()中的条件
// 如果所有()中的条件都不满足,就执行else中的程序内容
// true有执行,false没有执行 if(){}语句
// true有执行,false有其他执行 if(){}else{}
// 多种情况,多种执行 if(){}else if(){}....else{}
// 根据成绩分数,输出不同的考试结果成绩
// 100分 最强王者
// 90-99 星耀
// 80-89 钻石
// 70-79 铂金
// 60-69 黄金
// 60分一下 黑铁
// 1-100的随机数
var num = parseInt(Math.random() * (100 + 1 - 1) + 1);
// 当前情况,是可以不写 <= 条件的
// 根本原因就是 我们的数值范围 只是 1 - 100
// 数值范围是 1 - 100 最大值是 100
// 如果是 100 会满足第一个条件,执行 第一个{}中的程序,之后的程序不会执行
if (num == 100) {
console.log(`您的成绩是${num}分,喜提 最强王者 称号`);
// 如果不是 100 也就是第一个条件是false,会执行第二个()中的条件判断
// 此时我们的数值范围一定是 1-99 的范围
// 本身随机数的最大值就是 1-100 如果是 100 满足第一个条件
// 执行第二个判断,一定不满足第一个,一定不是100,因此范围一定是 1 - 99
} else if (num >= 90) {
console.log(`您的成绩是${num}分,喜提 星耀 称号`);
// 如果执行第三个判断 , 一定是前两个条件都不满足
// 不是 100 也不是 >= 90 的数值 , 也就是 1-89的数值
// 可以执行第三个条件判断,意味着本身的范围就是 1-89 不会超过89
} else if (num >= 80) {
console.log(`您的成绩是${num}分,喜提 钻石 称号`);
} else if (num >= 70 ) {
console.log(`您的成绩是${num}分,喜提 铂金 称号`);
} else if (num >= 60 ) {
console.log(`您的成绩是${num}分,喜提 黄金 称号`);
} else {
console.log(`您的成绩是${num}分,您还玩什么劲儿啊`);
}
// 实际项目中 , else 往往做容错处理
// 例如 实际成绩应该是 0-100分
// 现在有输入错误的情况 例如 超过 100 分 或者小于0分
// 随机数的范围是 -20 至 120
var num2 = parseInt(Math.random() * (120 + 1 - (-20)) + (-20));
console.log(num2);
// 数值范围是 -20 - 120 有可能超过正常值范围
// 条件1,判断是等于 100
if (num2 == 100) {
console.log(`您的成绩是${num2}分,喜提 最强王者 称号`);
// 执行到判断条件2,说明,数值不是100
// 范围是 -20 - 120 但是不包括 100
// 如果不写 <= 条件 例如超过100的数值,也会满足这个条件
// 就会造成程序执行错误
} else if (num2 >= 90 && num2 <= 99) {
console.log(`您的成绩是${num2}分,喜提 星耀 称号`);
} else if (num2 >= 80 && num2 <= 89) {
console.log(`您的成绩是${num2}分,喜提 钻石 称号`);
} else if (num2 >= 70 && num2 <= 79) {
console.log(`您的成绩是${num2}分,喜提 铂金 称号`);
} else if (num2 >= 60 && num2 <= 69) {
console.log(`您的成绩是${num2}分,喜提 黄金 称号`);
} else if ( num2 >= 0 && num2 < 60 ) {
console.log(`您的成绩是${num2}分,您还玩什么劲儿啊`);
} else {
console.log(`您的成绩是${num2}分,您是不是输入数据错误,玩我呢`);
}
// 如果有 正确的 数值范围
// 有时 <= 的判断条件 或者 >= 的判断条件,有时是可以省略的
// 因为 1,数值范围正确 2,有之前的判断条件,约束
// 如果数值范围有 错误数据内容
// 只限制 >= 或者 <= 有可能造成判断错误
// 不能正确的判断错误数据内容
// 写上 >= && <= 一定不会错
// 如果 只写 >= 或者 只