测试值传递
package com.baidu.demo02;
import java.sql.Array;
import java.util.Arrays;
public class ParamsTest {
/**
* 测试值传递
* @param n
*/
public static void test(int n){
n = 1;
System.out.println("方法中的n = "+n);
}
/**
* 测试值传递
* @param n
*/
public static void test1(int n){
n = 2;
System.out.println("方法中的n = " + n);
}
/**
* 测试值传递
* @param arr
*/
public static void test2(int[] arr){
arr[0] = 100;
System.out.println("方法中的arr = "+ Arrays.toString(arr));
}
//程序执行的入口
public static void main(String[] args){
int n = 1;
test1(n);
System.out.println("外部的n = " + n);
//引用传递
int[]arr={1,2};
test2(arr);
System.out.println("外部的arr = "+ Arrays.toString(arr));
//把对象在堆内存
int[]brr = {100};
int[]crr = brr;
int[]drr = brr;
crr[0] = 200;
System.out.println("brr[0]"+brr[0]);
System.out.println("crr[0]"+crr[0]);
System.out.println("drr[0]"+drr[0]);
}
}
运行结果
方法中的n = 2
外部的n = 1
方法中的arr = [100, 2]
外部的arr = [100, 2]
brr[0]200
crr[0]200
drr[0]200
Process finished with exit code 0