基本类型和引用类型分别作为形式参数的区别

╄→尐↘猪︶ㄣ 提交于 2020-01-26 14:43:05
  1. 方法的形式参数为基本数据类型

    方法的形式参数如果是一个基本数据类型,形式参数的改变对实际参数没有影响,形式参数引用的为具体的数值。在方法调用完毕后,形式参数消失,数值也消失。

  2. 方法的形式参数为引用数据类型

    方法的形式参数如果为一个引用数据类型,形式参数的改变会直接影响实际参数,形式参数引用的为内存空间地址值。故形式参数改变,通过地址值会将具体数值改变,即使方法调用完毕,仅形参地址值消失,空间依旧存储的为改变后的数值。

  3. 具体代码体现

    class ArgsDemo{
    public static void main(String[] args){
    int a = 10 ;
    int b = 20 ;
    System.out.println(“a:”+a) ; //10
    System.out.println(“b:”+b) ; //20
    //调用了一个方法
    //形式参数是基本数据类型,形参的改变不会影响实际参数
    change(a,b) ;
    System.out.println(“a:”+a) ; //10
    System.out.println(“b:”+b) ; //20
    }
    public static void change(int a,int b){
    System.out.println(“a:”+a) ; //10
    System.out.println(“b:”+b) ; //20
    a = b ;
    b = a+ b;
    }

    //定义一个数组
    int[] arr = {1,2,3,4,5} ;
    //调用一个方法
    change(arr) ;
    System.out.println(arr[1]) ; //4
    //形式参数是引用类型,形参的改变直接影响实际参数
    public static void change(int[] arr) {
    //遍历数组
    for(int x = 0 ; x < arr.length ; x ++){
    if(arr[x] %2 ==0 ){
    arr[x]*=2 ;
    }
    }
    }
    }

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!