学过java基础的人都知道,在java中参数的传递过程中有值传递和应用传递,那么这两个到底有什么区别呢,下面我通过例子为大家详细的介绍下。

我们都知道Java中有八种数据类型,基础数据类型分别是:byte,short,int,long,float,double,char,boolean,引用数据类型分别是:数组,类和接口。方法传参的时候我们有两种,一种是形式参数(定义方法时写的参数),一种是实际参数(调用方法时给的具体值)。

首先我们通过一个例子说明值传递

static int data = 200;
public static void main(String[] args) {modifyValue(data);System.out.println(data);
}public static void modifyValue(int data) {data = 100;
}

运行以上代码你会发现data还是200,这是为什么呢,这是因为int是基本的数据类型,属于值传递

下面我来看什么是引用传递

    static int[] arrNum = {1,2,3,4,5};public static void main(String[] args) {modifyArrValue(arrNum);for(int i=0;i<arrNum.length;i++) {System.out.println(arrNum[i]);}}public static void modifyArrValue(int[] arrNum) {for(int i=0;i<arrNum.length;i++) {arrNum[i] = 0;}}

我们来看结果是4个0,是不是很意外,因为这个地方是引用类型的。

可能看了上面的例子之后有的同学还是不理解什么是值传递,什么是引用传递。我给大家举个非常简单的例子:

A同学买了一篮水果,但是回来后发现水果有坏的,于是他拿去人家给他重新换了一栏。 (值传递)

A同学买了一篮水果,但是回来后发现水果有坏的,于是他拿去换,人家把水果给换了,但是篮还是他之前的那个篮。(引用传递)

可能例子不是很恰当,但是能说明问题。

以上部分内容来自网络,有问题可以在下面评论,技术问题可以私聊我。

转载于:https://www.cnblogs.com/c1024/p/11012036.html

Java里边什么是值传递和引用传递?两个有什么区别相关推荐

  1. Java中的值传递和引用传递

    当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?      答:是值传递.Java 编程语言只有值传递参数.当一个对象实例作为 ...

  2. Java值传递与引用传递

    Java面试题: 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答案基本上是:值传递 说明:得出这种结论的前提必须是&qu ...

  3. Stack Overflow上188万浏览量的提问:Java 到底是值传递还是引用传递?

    来自:沉默王二 在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很 ...

  4. java 引用传递_详解java的值传递、地址传递、引用传递

    详解java的值传递.地址传递.引用传递 一直来觉得对值传递和地址传递了解的很清楚,刚才在开源中国上看到一篇帖子介绍了java中的值传递和地址传递,看完后感受颇深.下边总结下以便更容易理解. 按照以前 ...

  5. Java中传参数--值传递和引用传递

    ** Java中传参数–值传递和引用传递 ** 在Java中,传参数分为值传递和引用传递. 在Java中的数据类型分为两大类:一类是引用类型,也叫类类型(除了String以外的所有复合数据类型,包括数 ...

  6. java的引用传递_Java的值传递和引用传递

    首先来看一段代码: User类: 1 public classUser {2 privateString name;3 4 publicString getName() {5 returnname;6 ...

  7. java引用传递关键字_Java值传递和引用传递

    Java值传递和引用传递 1 什么是Java值传递和引用传递 在Java中只有值传递,而没有引用调用.如果我们调用传递值的方法,则称为按值调用.在调用方法中完成的更改在调用方法时不受影响. 2 Jav ...

  8. java中的值传递和引用传递问题

    值传递与引用传递 最近学基础的时候,老师讲了值传递和引用传递,这个问题一直不太明白,上网查了很多资料,按照自己的理解整理了一遍,发现之前不太明白的地方基本上想明白了,如有不正确的地方,欢迎指正,谢谢. ...

  9. 【Java基础】Java中的值传递、引用传递

    Java中的值传递.引用传递 对于一个方法而言,参数是为该方法提供信息的,而不是想让该方法改变自己.--<Java编程思想> 值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本 ...

  10. Java中值传递和引用传递原理以及区别

    Java在参数传递时有两种:一种是按值传递,一种是按引用传递 值传递:值传递是指在调用方法时将实际参数复制一份传递到方法中,也就是说,在调用方法时,实际参数把他的值的副本传递给对应的形式参数.(注意这 ...

最新文章

  1. php敏感字符串过滤_PHP实现的敏感词过滤方法示例
  2. NFS精简版配置方法
  3. leetcood学习笔记-107-二叉树的层次遍历二
  4. 设计素材模板|如何从优秀作品里学习版面设计?
  5. python聚类分析如何确定分类个数_R语言做聚类分析Kmeans时确定类的个数
  6. 读取pcap获得端口_渗透技巧——获得Exchange GlobalAddressList的方法
  7. 如何实现分布式锁?赶紧收藏备战金三银四!
  8. HDR概念 (二十八)
  9. 【三维路径规划】基于matlab无人机三维路径规划【含Matlab源码 1262期】
  10. iOS 地图移动中心点获取
  11. 微PE工具箱四合一下载并安装
  12. 【转】知识图谱构建全过程
  13. 微商引流脚本,微商怎样选择正确的引流脚本?
  14. 对偶理论与灵敏度分析
  15. 关于本学期学校数据库课程的总结和一些心得
  16. 使用select2 实现拼音全拼和首字母 搜索
  17. Android 支付宝支付密码输入界面
  18. eclipse配置tomcat9.0
  19. 【ZBH选讲·拍照】
  20. MySQL5.7 固态盘性能设置_MySQL 5.7 安装完成后,立即要调整的性能选项

热门文章

  1. File-nodejs
  2. Linux学习笔记--对文本的操作及正则表达式
  3. 和朋友聊天时好玩的加密小程序(第一版)
  4. 如何计算_平整场地如何计算?
  5. signature=ecbb5c28a0561484700bbfeebe84cc52,Corps next in line as bond fees are hit by ECB
  6. JCheckBox 默认选择_[注册表] 将Windows 10默认应用程序设置页面添加到桌面右键菜单中...
  7. java的hashmap排序_Java面试题:如何对HashMap按键值排序
  8. c语言程序设计 赵宏,C语言程序设计(模块化程序设计I )(6页)-原创力文档...
  9. 关于各种回归评价指标MSE、RMSE、MAE、R-Squared、Standard Deviation(标准差)
  10. java一个点围着另一个点转_Java:按指定的度数值旋转另一个