这段Java代码为什么要在21行加上return -1,不加为什么不可以?

zhongbo5 2015-09-07 11:21:17
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
gufenghunan 2015-09-08
  • 打赏
  • 举报
回复
if里面可能不被执行,方法就没有返回值了。机器是死脑筋,你说好要返回一个int给我的啊,没有返回就不干活了,就报编译的错了。
  • 打赏
  • 举报
回复

public static int getIndex(int[] d,int g){
	for(int x=0;x<d.length;x++){
		if(d[x]==g){
		return x;
		}
	}
	return -1;
}
因为你写的那个函数相当于上面这个,写的过程中最好加上{}花括号,这样比较直观。因为return x;这一句不一定会执行,而你定义的方法必须要有一个int 类型的返回值,所以你最后还必须要有一个返回值才行,否则会报错。
sixsixshun 2015-09-07
  • 打赏
  • 举报
回复
因为你的方法定义要求返回一个int 值,而在if 语句中的return 未必会执行(编译器是这样认为的),所以必须在if 外面再提供一个return语句

87,843

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧