JAVA学习--方法的参数传递

时间:2021-10-31 16:46:58

 

* 方法的参数传递(重点、难点)
 * 1.形参:方法声明时,方法小括号内的参数
 *   实参:调用方法时,实际传入的参数的值
 *   
 * 2.规则:java中的参数传递机制:值传递机制
 *   1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量
 *   2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。
 * 
 
 1 public class TestArgsTransfer {
 2     public static void main(String[] args) {
 3         TestArgsTransfer tt = new TestArgsTransfer();
 4         
 5         int i = 10;
 6         int j = 5;
 7         System.out.println("i:" + i + " j:" + j);//i : 10  j : 5
 8         
 9 //        //交换变量i与j的值
10 //        int temp = i;
11 //        i = j;
12 //        j = temp;
13         tt.swap(i, j);//将i的值传递给m,j的值传递给n
14         
15         
16         System.out.println("i:" + i + " j:" + j);//i : 10  j : 5
17     }
18     
19     //定义一个方法,交换两个变量的值
20     public void swap(int m,int n){
21         int temp = m;
22         m = n;
23         n = temp;
24         System.out.println("m:" + m + " n:" + n);
25     }
26 }
27 
28 //传递调用
29 public class TestArgsTransfer1 {
30     public static void main(String[] args) {
31         TestArgsTransfer1 tt = new TestArgsTransfer1();
32         DataSwap ds = new DataSwap();
33        
34         System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);
35        
36         tt.swap(ds);
37         System.out.println(ds);
38        
39         System.out.println("ds.i:" + ds.i + " ds.j:" + ds.j);
40        
41     }
42     //交换元素的值
43     public void swap(DataSwap d){
44         int temp = d.i;
45         d.i = d.j;
46         d.j = temp;
47         System.out.println(d);//打印引用变量d的值
48     }
49 }
50 
51 class DataSwap{
52     int i = 10;
53     int j = 5;
54 }