美文网首页Java程序员我说技术
java引用数据类型之数组

java引用数据类型之数组

作者: 光哥很霸气 | 来源:发表于2015-07-24 13:00 被阅读592次

首先我们都知道在编程中赋值运算“=”的意思是把右边的值赋给左边。

x.png

如图所示,当b=a时,实际上就是把a的值赋值给b。


但是在数组中,可不是这么回事
z.png
如图所示,先定义一个数组变量a,里面存着1,2,3.
再定义一个数组变量b,将b=a,然后遍历循环将b中每一个元素,使每个数加一。这时b中的元素应该是{2,3,4}。最后再输出数组a。 至此,按照我们上面的规则来说,把a的值赋值给b,改变b的值对于a来说应该没有任何影响,a的值应该还是{1,2,3}才对。
我们运行一下
a.png
a的值改变了!
  • 在java中,数据类型分为两类,即基本数据类型和引用数据类型
    基本数据类型如 int,long,byte,操作时本身就是数据;
    引用数据类型如数组,类,接口。引用数据类型传递的是内存的使用权,是一块内存空间,它可以由多个单位同时使用。
    而赋值的过程并不是把a数组内的数据传递给b,而是把a数组的内存使用权与b共享。所以当a和b共享同一个数组内存时,不管改变数组a内的值还是改变数组b内的值,该数组都会改变。

在调用方法时,同理。

  • 一般来说调用方法并不会改变实参的值
xx.png
虽然方法中使用的实参的是i,但是最后结果i的值没有改变,还是5。

如果实参是数组呢?看一下

xxx.png

数组b和数组c的值同时改变了,这就是引用数据类型。传递的永远是内存的使用权,一块内存空间,而不是本身的数据。

PS:我的大宝贝蕾蕾出去旅游去了,淡淡的忧桑(ಥ_ಥ)

相关文章

  • Java入门:数组

    Java数组 数组概念:是相同数据类型的有序集合,每个元素具有相同的数据类型。数组类型:数组属于引用类型,从Obj...

  • 对数组的内存地址浅析

    在Java中,有基本数据类型和引用数据类型。 基本数据类型:整数,浮点,字符,布尔引用数据类型:类,接口,数组,枚...

  • Java学习之数组

    标签: java 数组 声明数组语法: 声明并开辟数组: 数组的数据类型 数组是引用类型。 动态初始化数组 先开辟...

  • Java常用技巧

    1. 泛型数组合并 2. 值传递 & 引用传递 2.1 Java数据类型   Java数据类型分为基本数据类型和引...

  • JavaSE进阶三 数组

    数组的定义 1,java语言中的数组是一种引用数据类型,不属于基本数据类型。数组的父类是Object。 2,数组是...

  • JavaSE进阶-02-数组

    数组(Array)特性:1.Java语言中的数组是一种引用数据类型,不属于基本数据类型。数组的父类事Object。...

  • java引用数据类型之数组

    首先我们都知道在编程中赋值运算“=”的意思是把右边的值赋给左边。 如图所示,当b=a时,实际上就是把a的值赋值给b...

  • day2.6_数组

    数组概述 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。 创建数组对象...

  • Java学习18:数组、Arrays工具类、一些算法

    一维数组 Java语言中的数组是一种引用数据类型。不属于基本数据类型。数组的父类是Object。 数组实际上是一个...

  • 对Method、Field的访问

    访问非静态方法 访问静态方法 访问Java的构造方法 访问基本类型数据数组 访问引用数据类型数组

网友评论

    本文标题:java引用数据类型之数组

    本文链接:https://www.haomeiwen.com/subject/knfmqttx.html