我在书上看到这么一段:“下面的示例中逻辑上是正确的,但在编译时有错误,因为Java编译器认为该方法有可能不返回任何值”,其代码是:
public static int sign(int n) {
if(n>0) return 1;
else if(n==0) return 0;
else if(n<0) return -1;
}
为什么最后一句应该改成“else return -1”呢?虽然前两句判断了n的值是否大于等于0,我喜欢多此一举再次判断下n的值为什么会错了?
希望高手指点下,谢谢!