首页 > 代码库 > 值传递和引用传递
值传递和引用传递
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]
值传递和引用传递
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。