java基础——方法参数的值传递机制

方法参数的值传递机制
1.实例

public class Hello
{
public static void main(String[] args)
{
System.out.println("Hello");
}
}

参数:参数类型:String[] 参数名称:args(arguments)
main方法是static修饰的,直接使用hello类调用即可。在底层是JVM通过Hello.main(实参)。main方法的String数组参数,其实是暴露给程序运营者的用于给程序传递一个数据信息

2.基本数据类型

class ParameterDemo1
{
public static void main(String[] args)
{
int x=10;
change(x);//改变x变量
System.out.println("change方法后,x="+ x)//10
}
static void change(int x)
{
System.out.println("change方法前,x="+ x)//10
x=50;
System.out.println("change方法后,x="+ x)//50
}
}

change(x)是先把X的值先拷贝一份,再传递给change方法。

3.引用数据类型

class ParameterDemo2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
   int[] arr=new int[] {10,99};
   printArray(arr);
   Swap(arr);
   printArray(arr);
    }
static void printArray(int[] arr) {
    if(arr==null) {
        System.out.println("null");
        return;
    }
    String ret="[";
    for(int index=0;index<arr.length;index++) {
        ret+=arr[index];
        //如果当前index不是最后一个索引,则拼接“,”
        if(index!=arr.length-1) {
            ret=ret+",";
            }
        }
     ret=ret+"]";               
     System.out.println(ret);
    }

static void Swap(int[] arr) {
    int temp=arr[0];
    arr[0]=arr[arr.length-1];
    arr[arr.length-1]=temp;
}
}

输出结果:

[10,99]
[99,10]

swap(arr)是把main方法中的arr所引用的地址值复制一份,把复制之后的副本传递给swap方法的arr变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值