java如何return多个值?return的返回值返回给谁?

Java中一个方法如果定义了返回值,就会在函数的最后加上return语句,用来返回数据,提供给别的方法使用,那java如何return多个值?今天我们就来给大家讲解一下java中return多个值的方法。

方法1:使用集合类

方法2:使用封装对象

方法3:使用引用传递

示例代码如下:

import java.util.HashMap;
import java.util.Map;
public class Test
{
    /**
    * 方法1:使用集合类 (Map以外的集合类也可以随意使用)
    * 目标:返回一个数组的最大值和最小值
    */
    public Maptest1(int[] arr)
    {
        Mapmap = new HashMap();
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        for (int i = 0; i < arr.length; i++)
        {
            if (arr[i] > max)
            {
                max = arr[i];
            }
            if (arr[i] < min)
            {
                min = arr[i];
            }
        }
        map.put("max", max);
        map.put("min", min);
        return map;
    }
    /**
    * 方法2:使用封装对象
    * 目标:返回一个数组的最大值和最小值
    */
    public Result test2(int[] arr)
    {
        Result result = new Result();
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        for (int i = 0; i < arr.length; i++)
        {
            if (arr[i] > max)
            {
                max = arr[i];
            }
            if (arr[i] < min)
            {
                min = arr[i];
            }
        }
        result.setMax(max);
        result.setMin(min);
        return result;
    }
    /**
    * 方法3:使用引用传递 (不适用基本类型及其封装类和String类型)
    * 目标:返回数组长度,同时获取最大值和最小值
    */
    public int test3(int[] arr, Result result)
    {
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        for (int i = 0; i < arr.length; i++)
        {
            if (arr[i] > max)
            {
                max = arr[i];
            }
            if (arr[i] < min)
            {
                min = arr[i];
            }
        }
        result.setMax(max);
        result.setMin(min);
        int total = arr.length;
        return total;
    }
    /**
    * 测试main
    */
    public static void main(String[] args)
    {
        Test t = new Test();
        int[] arr = {
            1
            , 2
            , 3
            , 4
            , 5
            , 6
        };
        // ----------方法1测试-----------
        // Mapmap = t.test1(arr);
        // System.out.println("max : " + map.get("max"));
        // System.out.println("min : " + map.get("min"));
        // ----------方法2测试-----------
        // Result result = t.test2(arr);
        // System.out.println("max : " + result.getMax());
        // System.out.println("min : " + result.getMin());
        // ----------方法3测试-----------
        Result result = new Result();
        int total = t.test3(arr, result);
        System.out.println("total : " + total);
        System.out.println("max : " + result.getMax());
        System.out.println("min : " + result.getMin());
    }
}
class Result
{
    int max;
    int min;
    // 构造函数
    public Result()
    {
        super();
    }
    // getters/setters(略)
}

return的返回值返回给谁?

返回给调用他的函数。

package a;
public class TestReturn
{
    //函数
    public static int add(int a, int b)
    {
        return a + b;
    }
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        //调用函数,获得返回值
        int count = add(1, 2);
        //输出
        System.out.print(count);
    }
}

return最后返回的值都是给调用他的函数,并且java中return多个值可以使用使用集合类、封装对象、引用传递这三种方法,大家可以任选一种进行操作。最后大家如果想要了解更多java常见问题知识,敬请关注奇Q工具网。

推荐阅读:

json怎么导入?json注意事项有哪些?

ultraedit使用技巧有哪些?常用ultraedit使用技巧

java工程师面试技巧有哪些?java工程师面试技巧