Java中if语句的顺序使结果不同

如下图,为什么两个if语句的调换使得输出的结果不一致?
设计的程序要求是:1、输入的数字必须是整数,若为浮点数或者字符串,则发出提示“Error Message”;
2、输入的数字若是2的倍数,则打印“HiEven”
3、输入的数字若是5的倍数,则打印“HiFive”
4、输入的数字若是2和5的倍数,则打印“HiEven”与“HiFive”

img

img

2也可以作为double值,所以会满足第一个检测条件啊
当2被整型接收掉以后,再判断是否有double值,当然没有了

因为数字2自动转型为double类型进行了第一个if条件的判断!

img