方法的参数传递机制——值传递机制

package pers.songhongkang.chaper3.day6;
/*方法的参数传递(重点,难点)
*1.形参:方法声明时,方法小括号内的参数;
*  实参:调用方法时,实际传入的参数的值
*2.规则:java中的参数传递机制:值传递机制
*    1)形参是基本数据类型的,将实参的值传递给形参的基本数据类型的变量
*    2)形参是引用数据类型的,将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量
*
*/
public class TestArgsTansfer {
	public static void main(String[] args){
		TestArgsTansfer tt=new TestArgsTansfer();
		int i=10;
		int j=5;
		System.out.println("i="+i+"j="+j);//i=10,j=5
		//交换i和j的值
//		int temp=i;
//		i=j;
//		j=temp;
		tt.swap(i, j);
		System.out.println("i="+i+"j="+j);//这是main方法的变量i=10,j=5
	}
//定义一个方法交换两个变量的值
	public void swap(int i,int j){
		int temp=i;
		i=j;
		j=temp;
		//方法结束,变量就释放了
	}
}
i=10j=5

i=10j=5

方法的参数传递机制——值传递机制_第1张图片

package pers.songhongkang.chaper3.day6;

public class TestArrayTansfer2 {
	public static void main(String[] args){
		TestArrayTansfer2 tt=new TestArrayTansfer2();
		DataSwap ds=new DataSwap();
		System.out.println("ds.i="+ds.i+"ds.j="+ds.j);
		tt.swap(ds);
		System.out.println("ds.i="+ds.i+"ds.j="+ds.j);
	}
		//交换元素的值
		public void swap(DataSwap d){
			int temp=d.i;
			d.i=d.j;
			d.j=temp;
		}
}
class DataSwap{
	int i=10;
	int j=5;
}

ds.i=10ds.j=5

ds.i=5ds.j=10

方法的参数传递机制——值传递机制_第2张图片

你可能感兴趣的:(Java)