java,就是这个switch这一块儿

请问一下,这个第8行为什么用== 就不对,显示布尔类型无法转换成int,而用=就可以正常运行了呀?

img

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/751038347076125.png "#left")

==表示逻辑计算 最后返回的结果是boolean类型,而你的case用的是 int的0和1 所以不行。
而用 = 最终就是你给score赋值了,最后使用的还是score,而score是int类型的可以用case去判断,但这明显不符合你的预期。感觉你这里完全可以采用 if else,没必要用switch。

num == (int) (num / 60)是判断语句,其结果为boolean类型;
num = (int) (num / 60)是赋值语句,先计算 num / 60 ,然后int转型,最后把计算结果赋值给num,即对 num / 60,是个int类型。
switch不支持boolean,支持 char, byte, short, int, Character, Byte, Short, Integer, String, or an enum