方法中关于形参的传值和传址问题

package com.test;

class A{

public void jiaoHuan(int[] a){

int temp=0;

temp=a[0];

a[0]=a[1];

a[1]=temp;

}

}

public class Test {

public static void main(String[] args) {

int[] a={1,2};

      A aa=new A();

      aa.jiaoHuan(a);

      for(int b : a){

      System.out.println(b);

      }

      }

}

//这就是址传递、因为我们定义的数组a。它的变量名是指向他的首地址。在传递的过程中穿的是地址。地址传递。传给形参。   此时形参值会影响实参值

 

package com.test;

class A{

public void jiaoHuan(int a,int b){

int temp=0;

temp=a;

a=b;

b=temp;

}

}

public class Test {

public static void main(String[] args) {

int a=1,b=2;

      A aa=new A();

      aa.jiaoHuan(a,b);

      System.out.println(a+","+b);

      }

}

//这就是值传递。我们把a和b的值传给形参。形参只是暂时占用内存空间。在这个方法结束时。形参的值就不存在了。所以这时。  形参的值不能影响实参的值

 

 

总的来说。形参和实参的关系就是。形参值不能影响实参值形参址可以影响实参值

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值