值传递和引用传递
Posted 奋斗的少年WH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值传递和引用传递相关的知识,希望对你有一定的参考价值。
public static
*值传递
如果参数类型是基本数据类型,就属于值传递
*引用传递
如果参数类型是引用类型(比如数组)的,就属于引用的传递
*区别:
若方法是无返回值类型的交换值,则值传递后,打印输出的仍然是局部变量的值,
若是引用传递,则打印输出的是方法里交换后的值
1 //引用传递 2 package com.wh.Object3; 3 4 import java.util.Arrays; 5 6 public class Demo { 7 public static void fun(int[] arr,int[] arr2){ 8 for(int i=0;i<arr.length;i++){ 9 int temp=arr[i]; 10 arr[i]=arr2[i]; 11 arr2[i]=temp; 12 } 13 } 14 public static void main(String[] args) { 15 int[] num={1,2,3,4,5,6,7,8,9,10}; 16 int[] num2={51,52,53,54,55,56,57,58,59,60}; 17 System.out.println("交换前"); 18 System.out.println("数组一 "+Arrays.toString(num)); 19 System.out.println("数组二 "+Arrays.toString(num2)); 20 fun(num,num2); 21 System.out.println("交换后"); 22 System.out.println("数组一 "+Arrays.toString(num)); 23 System.out.println("数组二 "+Arrays.toString(num2)); 24 } 25 }
1 //运行结果 2 交换前 3 数组一 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 4 数组二 [51, 52, 53, 54, 55, 56, 57, 58, 59, 60] 5 交换后 6 数组一 [51, 52, 53, 54, 55, 56, 57, 58, 59, 60] 7 数组二 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
以上是关于值传递和引用传递的主要内容,如果未能解决你的问题,请参考以下文章