JavaSE|02.方法的传递机制

Java基础|02.方法传参机制

0x00 前言

  • Parameter:参数

  • java中只有传值,因为地址值也是值

0x01 基础数据类型的传参机制

  1. 基本数据类型的值传递,不改变原值。因为调用后会弹栈,局部变量随之消失。

    package study;
    
    public class Parameter {
        public static void main(String[] args) {
            int a = 520;
            System.out.println("Output before:" + a);
            Test(a);
            System.out.println("Output after:" + a);
        }
        static void Test(int a) {
            a = 1314;
            System.out.println("Outputting:" + a);
        }
    }
    
    >>>
    Output before:520
    Outputting:1314
    Output after:520
    

0x02 引用数据类型的传参机制

  1. 引用数据类型的值传递,改变原值。因为传递的是地址,地址指向堆内存,即使方法弹栈,但是堆内存数组对象依然存在。

    package study;
    
    public class Parameter_02 {
        public static void main(String[] args) {
            Test testA = new Test();
            int[] arr = {1, 2, 3, 4, 5};
            testA.test(arr);
            System.out.println("主函数中的 arr数组:");
            for (int i = 0; i < arr.length; i++){
                System.out.print(arr[i] + "\t");
            }
        }
    }
    
    class Test{
        public void test(int[] arr){
            arr[0] = 100;
            arr[1] = 200;
            System.out.println("test中的 arr数组:");
            for (int i = 0; i < arr.length; i++){
                System.out.print(arr[i] + "\t");
            }
            System.out.println("");
        }
    }
    
    >>>
    test中的 arr数组:
    100	200	3	4	5	
    主函数中的 arr数组:
    100	200	3	4	5
    
posted @ 2023-02-13 17:27  c10udz  阅读(21)  评论(0)    收藏  举报