网上查德希望可以帮助你
编译器并不像想象中的那么智能,虽然你的选择语句已经包括了n的所有取值情况,但是对于形如if……else if……的选择语句,只有最后以else结束,编译器才能肯定已经罗列了所有选择。
也可以这么理解,考虑下面的代码:
public static int sign(int n) {
if(n=1) return 1;
else if(n==2) return 0;
else if(n==3) return -1;
}
可以肯定这选择语句并没有罗列出所有情况,但是在编译器看来,这跟你本来写的没有区别,编译器不可能帮用户判断复杂的逻辑,它必须按照某种可以准确描述的规则来编译。 |