黑马程序员技术交流社区

标题: 求助!帮忙详细解释一下这段代码中的return max [打印本页]

作者: 20140829    时间: 2014-10-14 13:04
标题: 求助!帮忙详细解释一下这段代码中的return max
  1. public static void main(String[] args) {
  2.                 int[] arr = { 5, 1, 6, 4, 2, 8, 9 };
  3.                 getMax(arr);
  4.         }
  5.         public static int getMax(int[] arr){
  6.                 int max = arr[0];
  7.                 for (int i = 0; i < arr.length; i++) {
  8.                         if (arr[i] > max) {
  9.                                 max = arr[i];
  10.                         }
  11.                 }
  12.                 System.out.println(max);
  13.                 return max;
复制代码



作者: 康师傅-蛋黄派    时间: 2014-10-14 13:08
严谨一点,i从1开始吧
作者: 康师傅-蛋黄派    时间: 2014-10-14 13:09
少个大括号吧
作者: 20140829    时间: 2014-10-14 14:27
康师傅-蛋黄派 发表于 2014-10-14 13:09
少个大括号吧

这不是重点,能解释吗?
作者: 20140829    时间: 2014-10-14 14:30
康师傅-蛋黄派 发表于 2014-10-14 13:08
严谨一点,i从1开始吧

好吧,解释一下问题吧
作者: chenglove1201    时间: 2014-10-14 15:09
  1. public class GetMax
  2. {

  3.         public static void main(String[] args)
  4.         {
  5.         int[] arr = { 5, 1, 6, 4, 2, 8, 9 };
  6.         int V = getMax(arr);
  7.         System.out.println(V);
  8.         }
  9.         public static int getMax(int[] arr)
  10.         {
  11.         int max = arr[0];
  12.         for (int i = 0; i < arr.length; i++)
  13.         {
  14.                 if (arr[i] > max)
  15.                 {
  16.                         max = arr[i];
  17.                 }
  18.         }
  19.         return max;
  20.         }
  21. }
复制代码

你这个代码应该是这个样子的吧,你可以这样理解,因为此时max结果为9,return就是返回,把max的结果返回去,那把他返还给谁呢,谁调用的他就反给谁,int V = getMax(arr)这里调用了,所以就把9返给V,所以V就等于9,然后输出来就完了。
作者: Mr.Ni    时间: 2014-10-14 20:50
楼上正解




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