欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基础 第一节 第二十课

程序员文章站 2022-06-16 15:30:39
数组作为方法参数和返回值数组作为方法参数数组作为方法返回值方法参数类型区别代码展示1代码展示2数组作为方法参数以前的方法中我们学习了方法的参数和返回值, 但是使用的都是基本数据类型. 那么作为引用类型的数组能否作为方法的参数进行传递呢, 当然是可以的.数组作为方法参数传递, 传递的参数是数组内存的地址public static void main(String[] args) { int[] arr = { 1, 3, 5, 7, 9 }; // 调用printA...

数组作为方法参数

以前的方法中我们学习了方法的参数和返回值, 但是使用的都是基本数据类型. 那么作为引用类型的数组能否作为方法的参数进行传递呢, 当然是可以的.

  • 数组作为方法参数传递, 传递的参数是数组内存的地址
public static void main(String[] args) {
        int[] arr = { 1, 3, 5, 7, 9 };
        // 调用printArray方法,传递数组
        printArray(arr);
    }
      /**
     * printArray方法可以对数组进行遍历
     * @param arr 需要进行遍历的数组
     */
    public static void printArray(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

Java基础 第一节 第二十课

数组作为方法返回值

数组作为方法的返回值, 返回的是数组的内存地址.

public static void main(String[] args) {
        // 调用方法,接收数组的返回值
        // 接收到的是数组的内存地址
        int[] arr = getArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
    /**
     * getArray 方法返回一个数组
     * @return 返回数组的地址
     */
    public static int[] getArray() {
        int[] arr = { 1, 3, 5, 7, 9 };
        // 返回数组的地址,返回到调用者
        return arr;
    }

Java基础 第一节 第二十课

方法参数类型区别

代码展示1

分析下列程序代码, 计算输出结果.

public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println(a);
        System.out.println(b);
        change(a, b);
        System.out.println(a);
        System.out.println(b);
    }
    public static void change(int a, int b) {
        a = a + b;
        b = b + a;
    }

执行结果:
Java基础 第一节 第二十课

代码展示2

分析下列程序代码, 计算输出结果.

public static void main(String[] args) {
        int[] arr = {1,3,5};
        System.out.println(arr[0]);
        change(arr);
        System.out.println(arr[0]);
    }
    public static void change(int[] arr) {
        arr[0] = 200;
    }

注: 方法的参数为基本类型是, 传递的是数据值. 方法的参数为引用类型是, 传递的是地址值.

本文地址:https://blog.csdn.net/weixin_46274168/article/details/109979688