1. 数组定义格式

1.1 数组概述

1.2 什么是数组

1.3 数组定义格式

推荐使用第一种格式,因为第一种格式读法比较顺畅。

2. 数组初始化之动态初始化

2.1 数组初始化概述

2.2 数组初始化方式

2.3 动态初始化

代码实例和详细解释:

3. 数组元素访问

3.1 数组元素访问

代码示例:

直接输出数组名是不可以的,这样会输出出他的内存地址,想要输出数组中的值要按照序号输出,为什么是0那是因为我们还没有给数组赋值。

4. 内存分配

4.1 Java中的内存分配

int [] arr :在内存中会有一个区域专门用来存储它
new int [3] :在内存中也会有一个区域专门用来存储它,但是new 会为程序开辟内存空间,我们设置为3就会给我们开辟3个内存空间,并且添加默认值。

new int[3] 会赋值给 int [] arr,int [] arr 会指向 new int[3]。

这里的001并不是真实的内存地址

数组1和2类似于此

4.2 数组内存图(单个数组)

给数组中的元素赋值,输出的值就会改变。

运行结果图:

4.3 数组内存图(多个数组)

4.4 数组内存图(多个数组指向相同)

arr的值赋给了arr2

这样我们的两个数组就都指向了堆内存的相同地址,这就是(多个数组指向相同)。

因为两个堆内存地址是相同的所以arr2也可以修改值。

当两个数组指向同一个地址内存时,两个数组都是可以访问这个地址内存的,是通用的。

5. 数组初始化之静态初始化

5.1 数组初始化之静态初始化

推荐使用简化格式。

6. 数组操作的两个常见小问题

6.1 数组操作的两个常见小问题

  1. 索引越界

  2. 空指针异常

   把null赋值给数组arr

把null赋给arr,arr就变为了空值,就会和堆内存地址断去关联。

如果我们再去访问原来的堆内存的话就还报错,因为它找不到。

7. 数组常见操作

7.1 遍历

按照原来的方法一个一个的输出太过麻烦,所以我们就用到了遍历。

可以看到每次输出索引都会加一,所以我们利用循环产生0-4。

for循环遍历

7.2 获取数组元素数量

如果数组的个数有很多,我们该怎么获取数组的元素个数那?

Java中的length,就可以获取数组的个数。

7.3 获取最值

此方法也叫打擂台方法,max与其他的值比较,赢了就继续站擂台,输了下去,让赢的站擂台,一直把所有的值都比较完。

代码示例:

输出:

最新文章

  1. 【javascript 面试笔试】1、几道笔试题
  2. WPF 将DLL嵌入EXE文件(安装包)
  3. Filestream 使用简单步骤
  4. poj 1816 (Trie + dfs)
  5. JQuery 操作按钮遮罩(删除)
  6. [MySQL]命令行工具和基本操作
  7. C#制作高仿360安全卫士窗体(四)- 水晶按钮
  8. 4MLinux7.0 服务器配置详解 别名TheSSS
  9. 中文字符串的编码转换(c实现)
  10. linux shell中间$0,$?,$!和<<'END'
  11. C++ cout 输出小数点后指定位数
  12. ​Installing the Ranger Kafka Plug-in
  13. Testlink1.9.17使用方法(第六章 测试计划制定)
  14. Flask 构建微电影视频网站(二)
  15. Restful API学习Day5 - DRF之限制 分页 解析器和渲染器
  16. Java 获取class method parameter name
  17. Mybatis中的StatementType
  18. django class-based view 考古
  19. 【WP8】富文本功能实现
  20. linux C/C++服务器后台开发面试题总结

热门文章

  1. Proteus仿真MSP430单片机的若干问题记录
  2. 拦截导弹(CDQ分治,DP)
  3. 【模拟7.22】visit(卢卡斯定理&&中国剩余定理)
  4. 一文读懂高速PCB设计跟高频放大电路应用当中的阻抗匹配原理
  5. JavaScript 实现:输出斐波那契数列
  6. Java并发编程中的锁
  7. python3实现几种常见的排序算法
  8. Kubernetes自动伸缩pod-HPA
  9. 测试开发:推荐一款阿里最新 Python 自动化开源工具!
  10. USB上位机通信:CyAPI