Java基础巩固系列 方法的参数值传递机制(⭐)

有⭐代表重点或者难点

 


1. 形参:方法声明时,方法小括号内的参数
    实参:调用方法时,实际传入的参数的值

 

2.规则:java中的参数传递机制:值传递机制

         1) 形参是基本数据类型的:将实参的值传递给形参的基本数据类型变量 
         2) 形参是引用数据类型的:将实参的引用类型变量的值对应的堆空间的对象实体首地址值)传递给形参的引用类型变量

 

形参是基本数据类型的代码:

public class TestArgsTransfer {
    public static void main(String[] args) {
        TestArgsTransfer tt = new TestArgsTransfer();

        int i = 10;
        int j = 5;
        System.out.println("i:" + i + " j:" + j);   //10  5

        //不定义方法 在mian中交换变量i与j的值
//       int temp = i;
//       i = j;
//       j = temp;

        tt.swap(i, j);  //将i的值传递给m,j的值传递给n

        System.out.println("i:" + i + " j:" + j);   //10  5
    }

    //定义一个方,交换两个变量的值
    public void swap(int i, int j) {
        int temp = i;
        i = j;
        j = temp;
        System.out.println("i:" + i + " j:" + j);   //5  10
    }
}

结果:

i:10 j:5
i:10 j:5 

 

形参是基本数据类型的内存图

 

不定义方法在mian中交换值在内存中的体现:

定义方法在swap中交换值在内存中的体现:

 

 

形参是引用数据类型的代码:

public class TestArgsTransfer1 {
    public static void main(String[] args) {
        TestArgsTransfer1 tt = new TestArgsTransfer1();
        DataSwap ds = new DataSwap();

        System.out.println("i:" + ds.i + " j:" + ds.j);

        tt.swap(ds);
        System.out.println(ds);

        System.out.println("i:" + ds.i + " j:" + ds.j);
    }

    //交换元素的值
    public void swap(DataSwap d) {
        int temp = d.i;
        d.i = d.j;
        d.j = temp;
        System.out.println(d);
    }
}

class DataSwap {
    int i = 10;
    int j = 5;
}

结果:

i:10 j:5
com.peter.java.DataSwap@1540e19d
com.peter.java.DataSwap@1540e19d
i:5 j:10

形参是引用数据类型的内存图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值