Java中参数的传递机制

本文详细介绍了Java中的形参和实参概念,重点阐述了值传递机制,包括基本数据类型、引用数据类型(如数组)和String类型的传递行为。指出基本类型形参改变不影响实参,但引用类型形参会改变实参所指内容。
摘要由CSDN通过智能技术生成

首先介绍两个概念

        1.形参:在定义函数时使用的参数,目的是用于接收调用该函数时传入的参数。简单理解,就是所有函数(即方法)的参数都是形参。

        2.实参:在调用有参函数时,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”。


Java的参数传递机制:值传递

在传输实参给方法的形参的时候,并不是传输实参变量本身, 而是传输实参变量中存储的值,这就是值传递

当传递的参数是基本数据类型时,传递的值,比如传递a=10,真实传参时,把10赋值给了形参。

当传递的参数是对象时,传递的是对象的值,也就是对象的首地址值,就是把对象的地址值赋值给了形参。


总结:

        1.当基本数据类型或String类型的变量作为方法的参数传递时,形参变量的改变不会影响到实参。

        2.当引用数据类型的变量作为方法的参数传递时,形参变量指向的内容发生改变后会影响到实参变量指向的内容。

        3.当引用数据类型的变量作为方法的参数传递时,形参变量改变指向后再改变指向的内容时不会影响到实参变量指向的内容。

public class ArgumentTest{	
	public static void main(String[] args){
		int b=10;
		show(b);
		System.out.println("b="+b);//10
		System.out.println("----------------------------");

		int[] brr=new int[]{10,20};
		show(brr);
		System.out.println("brr[0]="+brr[0]);//200
		System.out.println("---------------------------");

		String sb="lisi";
		show(sb);
		System.out.println("sb="+sb);//lisi 
	}
	
    //基本数据类型
	public static void show(int a){
		a=200;
		System.out.println("a="+a);//200
	}

    //引用数据类型
	public static void show(int[] arr){	
		//arr=new int[2];//重新new一个数组之后,上面输出brr[0]=10;
		arr[0]=200;
		System.out.println("arr[0]="+arr[0]);//200
	}

    //String类型
	public static void show(String sa){
		sa="zhangsan";
		System.out.println("sa="+sa);//zhangsan
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值