扩展if-else成绩练习的疑问

img


我不写方框中的这段它也可以运行
想问一下,为什么要写这段或者为什么没报错
比如我输入了91,它运行显示的也是A,并不是B或者CDE

因为逻辑本身是正确的,当然不报错了
虽然红框里面的条件是个冗余的,完全可以删掉
凡跟后面的条件不匹配的项,都已经走进前面的分支里了,不可能再有不满足后面表达式的值进入这个分支
你这样写跟写if(int1>=90 && 1)效果一样

不用写也可以,写了不用担心自己出错。
大于100的被第一个条件捕获,剩下的都是小于等于100的,也就是说&&后面的条件用不上。后面的也是如此。

因为前一个if已经规定了其后边的范围区间

img