欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2023-12-26 11:04:45
...

方法参数的值传递机制
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变量

相关标签: java 实例 class

上一篇:

下一篇: