放在if{}中的时候提示缺少返回值。放在public就正常了。
这个很好理解。public static int getmax(int[] a){}返回的是int型,所以函数中就一定要返回int型数据。但是如果把返回写到了if语句中,你想一下if是条件判断,满足条件就去执行if中语句,不满足就不执行,也即if中的return语句可能不被执行到!这样函数中就没有返回语句了。所以把return语句写到if语句中是错误的,会提示没有返回值。由此可以说明return语句必须放到一定会被执行的地方!就像异常处理中,finally{}一样。
|
|