您的位置:首页 > 编程语言 > Java开发

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

2017-08-12 15:32 218 查看
方法参数的值传递机制

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