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


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


但是在数组中,可不是这么回事


如图所示,先定义一个数组变量a,里面存着1,2,3.
再定义一个数组变量b,将b=a,然后遍历循环将b中每一个元素,使每个数加一。这时b中的元素应该是{2,3,4}。最后再输出数组a。 至此,按照我们上面的规则来说,把a的值赋值给b,改变b的值对于a来说应该没有任何影响,a的值应该还是{1,2,3}才对。
我们运行一下

a的值改变了!
- 在java中,数据类型分为两类,即基本数据类型和引用数据类型
基本数据类型如 int,long,byte,操作时本身就是数据;
引用数据类型如数组,类,接口。引用数据类型传递的是内存的使用权,是一块内存空间,它可以由多个单位同时使用。
而赋值的过程并不是把a数组内的数据传递给b,而是把a数组的内存使用权与b共享。所以当a和b共享同一个数组内存时,不管改变数组a内的值还是改变数组b内的值,该数组都会改变。


在调用方法时,同理。

  • 一般来说调用方法并不会改变实参的值


虽然方法中使用的实参的是i,但是最后结果i的值没有改变,还是5。

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


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

java引用数据类型之数组相关推荐

  1. Java引用数据类型String详解

    Java引用数据类型(String) 引用数据类型概述 引用数据类型与基本数据类型的差别(举例说明) 引用数据类型概述 说到引用数据类型,那么何为引用数据类型? 引用类型,都可以用null值作为值,也 ...

  2. Java基础之路--引用数据类型之数组

    什么是数组 数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合. 数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引(下标)从0开始. 数组的定义 第一种 ...

  3. Java学习笔记之:Java引用数据类型之字符串

    一.简介 字符串广泛应用在Java编程中,在Java中字符串属于对象,Java提供了String类来创建和操作字符串. 创建字符串最简单的方式如下: String greeting = "H ...

  4. java引用数据类型可以更改类型_java,基本数据类型和引用数据类型

    java中的数据类型分为基本数据类型和引用数据类型 基本数据类型 整型:byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用数据类型 ...

  5. JAVA基础第2.5章 JAVA引用数据类型

    (一)Java变量 1.Java中有两种数据类型:基本数据类型和引用数据类型 基本数据类有8种:byte, short, int, long, char, boolean, float, double ...

  6. Java引用数据类型(类)+案例

    引用数据类型(类) 自定义类也是一种数据类型.只是自定义类型并非Java为我们预先提供好的类型,而是我们自己定义的一种引用数据类型用来描述一个事物. 类的定义格式 创建java文件,与类名相同 pub ...

  7. java引用数据类型可以更改类型_Java改变引用数据类型的值

    Java改变引用数据类型的值 在Java中,引用数据类型的数据传递的是值(地址)的拷贝 对于以下代码 class BirthDate { private int day; private int mo ...

  8. java 引用数据类型Scanner类 Random类

    Scanner类是属于引用数据类型 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 基本数据类型定义:数据类型  变量名  =  值;            引用 ...

  9. java引用数据类型

    一.定义 1.类似c的指针,引用类型存放的时对象的引用 2.引用变量再声明时被指定位一个特定的类型,一旦声明后,类型就不能被改变 3.引用类型包括:类,接口,数组,枚举,注解 4.所以的引用类型的默认 ...

最新文章

  1. 学生服务器选用什么系统,学生云服务器系统选择
  2. OSChina 周二乱弹 ——在影楼工作的妹子,可追不?
  3. 线性求逆元模板_算法学习笔记(9):逆元
  4. 比特币收购足球队,区块链准备登上绿茵场
  5. VSZ、RSS、Pss的区别和含义
  6. 二项分布期望与方差的证明
  7. 计算机连接路由器的方法,路由器连接电脑的三种方式和设置介绍
  8. 让Win7系统下的硬盘不在狂闪的诀窍
  9. 如何在Windows和Mac上将PNG文件转换为PDF?
  10. 电路原理仿真测试软件,测试工具篇-运放测试电路仿真《TINA-TI》
  11. windows下安装mingw-w64
  12. NoSQL数据库资料
  13. 技术社区、相关论坛推荐汇总(持续更新)
  14. 华章8月书讯,夏日静心好读书
  15. 如何使用信号量处理问题
  16. 2020Java开发工程师面试题
  17. 商汤科技、星宸科技、大华、帷幄匠心、联影医疗、深信服、亿联网络等2021校招面试总结
  18. sw+vba非批量操作=180822
  19. linux内核 社区,明尼苏达大学Linux内核“伪装者提交”研究人员发表公开信
  20. 第九次作业——码流分析仪

热门文章

  1. Android 音视频 --------- FFmpeg将多张图片合成视频
  2. 老板提了个需求:微信小程序调用支付宝支付!然后群里炸锅了
  3. 1024+996=2020,今天注定996,一大波暴击电子美图送给大家!
  4. leedcode——图数据结构相关2
  5. Docker 使用国内镜像仓库
  6. Docker镜像仓库配置
  7. 乐观锁与悲观锁的概念及实现方式
  8. 白话Java基础—内存模型是怎么解决缓存一致性问题的?
  9. 2022年中国保健品行业市场规模及头部企业分析[图]
  10. JS动态在div中添加元素