Java中数组的反转及作为方法的传递参数和返回地址值

1.数组元素的反转:

本来的样子:[1,2,3,4,5]
之后的样子:[5,4,3,2,1]

要求不能使用新数组,就用原来的唯——个数组。

public class ArrayReverse {
    public static void main(String[] args) {
        int [] array ={1,2,3,4,5};//定义一个数组

        //遍历打印数组本来的样子
        for(int i =0; i<array.length;i++){
            System.out.println(array[i]);
        }
        System.out.println("----------");

        /*
        初始化语句:int min = 0, max = array.lenth -1
        条件判断:min < max
        步进表达式:min++, max--
        循环体,用第三个变量倒手
         */
        for (int min = 0, max = array.length -1; min < max; min++, max--){
            int temp = array[min];
            array[min] = array[max];
            array[max] = temp;/*从这里我们可以看到,第一行的结尾
             到第二行就变成第二行的开头了,以下皆是,可以理解为数组的反转*/
        }

        //再次打印输出数组后来的样子。
        for(int i =0; i<array.length;i++){
            System.out.println(array[i]);
        }
    }
}

2.数组作为方法的传递参数

数组可以作为方法的参数。
当调用方法的时候,向方法的小括号进行传参,传递进去的其实是数组的地址值。

public class ArrayParam {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};

        System.out.println(array); //地址值

        printArray(array);//传递进去的就是array当中保持的地址值
        System.out.println("------------");
        printArray(array);
        System.out.println("============");
        printArray(array);
       /* for(int i =0; i<array.length; i++) {
            System.out.println(array[i]);
        }

        System.out.println("AAA");

        for(int i =0; i<array.length; i++) {
            System.out.println(array[i]);
        }

        System.out.println("BBB");

        for(int i =0; i<array.length; i++) {
            System.out.println(array[i]);
        }*/
    }
    /*三要素
返回值类型:只是进行打印而已,不需要进行计算,也没有结果,用void
方法名称: printArray
参数列表:必须给我数组,我才能打印其中的元素。int[] array
*/
    //以下是以上注释的简写
    public static void printArray(int[] array) {
        System.out.println("printArray方法收到的参数是:");
        System.out.println(array);//地址值
        for(int i=0; i<array.length;i++) {
            System.out.println(array[i]);
        }

    }
}

3.数组作为方法的返回地址

一个方法可以有0、1、多个参数;但是只能有e或者1个返回值,不能有多个返回值。
如果希望一个方法当中产生了多个结果数据进行返回,怎么办?
解决方案:使用一个数组作为返回值类型即可。

任何数据类型都能作为方法的参数类型,或者返回值类型。

数组作为方法的参数,传递进去的其实是数组的地址值。
数组作为方法的返回值,返回的其实也是数组的地址值。

public class ArrayReturn {

    public static void main(String[] args) {
        int[] result = calculate(11,22,33);  //result接收

        System.out.println("main方法接收到的返回值数组是:");
        System.out.println(result); //地址值

        System.out.println("总和:" + result[0]);
        System.out.println("平均数:" + result[1]);
    }
    public static int[] calculate(int a,int b, int c){ /*方法的调用,记住,
         一定要先写下面的再写上面的,对于方法来说*/
        int sum = a+b+c;//总和
        int avg = sum/3; //平均值
        //两个结果都希望进行返回

        //需要一个数组,也就是一个塑料袋,数组可用来保存多个结果

        /*int[] array = new int [2];
        array[0] = sum; //总和
        array[1] = array;//平均数*/

        int[] array = {sum,avg};
        System.out.println("calculate方法内部数组是:");
        System.out.println(array); //地址值
        return  array;
    }
}

方法、数组、调用。。。。。这些有很多,要多多练习才不会忘记,要好好学习了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康贤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值