黑马程序员技术交流社区

标题: 函数的调用中 返回值的小问题 [打印本页]

作者: 8047107    时间: 2013-5-12 20:25
标题: 函数的调用中 返回值的小问题
本帖最后由 8047107 于 2013-5-13 09:14 编辑

  1. class xiao
  2. {
  3. public static void main(String[] args)
  4. {
  5. int []arr={1,2,3,4,5,6};
  6. int index=halfSearch(arr,5);
  7. /*
  8. halfSearch(arr,5)这部分是否就等于return后面的值?下午那会有点糊涂,
  9. 一直纠结于为什么调用halfSearch函数后系统知道返回的mid是数组的角标而不是把它当作数组中的值?
  10. 它是通过什么识别的?
  11. 现在有点明白了。它是调用函数后提取返回的值,不管具体的是多少。
  12. 给数组遍历的话还好理解,因为返回值类型是void的。没有具体返回值。
  13. */
  14. System.out.println("index="+index);
  15. }
  16. public static int halfSearch(int [] arr,int key)
  17. {
  18. int min=0,max=arr.length-1,mid;

  19. mid=(min+max)/2;

  20. while (arr[mid]!=key)
  21. {
  22. if (key>arr[mid])
  23. min=mid+1;
  24. else if (key<arr[mid])
  25. max=mid-1;

  26. if (min>max)
  27. return -1;
  28. mid=(max+min)/2;
  29. }
  30. return mid;

  31. }

  32. }
复制代码

作者: 赵利斌    时间: 2013-5-12 20:45
这个不是老师的代码吗   你这是有什么疑问啊    这上面写的没问题吧

作者: 8047107    时间: 2013-5-12 21:12
赵利斌 发表于 2013-5-12 20:45
这个不是老师的代码吗   你这是有什么疑问啊    这上面写的没问题吧

嗯 是老师的源代码,没问题的。我当时的一个疑问就是halfSearch(arr,5)这部分是否就等于return后面的值?  这个当时不知道怎么的 一直在想。目前好像搞明白了。不好意思 太小白了点
作者: 赵利斌    时间: 2013-5-12 21:30
o                                
作者: 8047107    时间: 2013-5-12 21:31
赵利斌 发表于 2013-5-12 21:30
o

嗯    :D:lol
作者: 刘胜寒    时间: 2013-5-13 09:00
楼主如果有疑问,加我QQ给你详细讲解。
没有了 就把 帖子 标记为 以解决吧。。
我快累死了
作者: 8047107    时间: 2013-5-13 09:13
刘胜寒 发表于 2013-5-13 09:00
楼主如果有疑问,加我QQ给你详细讲解。
没有了 就把 帖子 标记为 以解决吧。。
我快累死了 ...

嗯 好的
作者: 刘胜寒    时间: 2013-5-13 11:29
谢谢合作 衷心感谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2