基本数据类型值传递和引用数据类型值传递比较

/** 基本数据类型的值传递和引用数据类型值传递比较
*
* 引用数据类型值传递传递的是栈中指向堆中对象的地址 ,传递的是地址,改变的是地址中
* 的内容,test方法和main方法指向的是同一个地址中的堆中的内容
* main方法和test方法内容一样
*
* 基本数据类型的值传递,传递的是数值,而变量本身不改变
* @author Administrator
*
*/
// 引用数据类型值传递比较
public class Test1{
public static void testIntA(int[] a){
int num = a[0];
a[0] = a[2];
a[2] = num;
for (int i : a) {
System.out.println(“test:”+i);
}
}

public static void main(String[] args) {
int[] a = new int[]{10,20,30};
testIntA(a); //调用,与下面的调用进行对比
for (int i : a) {
System.out.println(“main:”+i);
}
//testIntA(a); /* 比较 ,取消这个注释上面的调用加上注释形成对比main方法中的值进行对比,先调用方法则main方法中值改变,后调用,则main方法中值不会改变*/

    int number = 1;
    test(number);  //基本数据类型传递的是1这个值,number变量没有改变
    System.out.println("main:"+number);

}

//———————————————–
//基本数据类型值传递比较
public static void test(int number) {
number+= 100;
System.out.println(“test:”+number);
}
}

输出结果:
test:30
test:20
test:10
main:30
main:20
main:10
test:101
main:1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值