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

来源:互联网 发布:农友软件 编辑:程序博客网 时间:2024/05/16 04:38

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

原创粉丝点击