码迷,mamicode.com
首页 > 其他好文 > 详细

值传递和引用传递

时间:2016-09-19 11:37:57      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

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]

 

值传递和引用传递

标签:

原文地址:http://www.cnblogs.com/1020182600HENG/p/5884447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!