数组:Array

  • 数组的定义
  • 数组的内存结构
  • 数组定义常见问题
  • 数组常见操作
  • Java参数传递问题--值传递
  • 二维数组

1.数组概念

同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型。

java数据结构1--数组、排序和Arrays工具类

数组的特点:

  1. 数组存储的都是相同数据类型的元素(相同数据类型
  2. 数组的长度也就是数组中元素的个数(固定长度
  3. 元素从0开始编号,编号也称“索引”:index(下标,角标)(从零开始
  4. 数组中元素的访问方式是通过数组名+索引的方式:arr[1](索引访问

 

数组的定义格式

 

java数据结构1--数组、排序和Arrays工具类

2.数组的初始化

初始化方式1:
动态初始化:数组的创建和元素的赋值分开进行
格式:
元素类型[] 数组名 = new 元素类型[数组长度];
int[] arr = new int[3];

 


初始化方式2:
静态初始化:数组创建时就给数组元素赋值
格式:
元素类型[] 数组名 = new 元素类型[]{元素1,元素2,…};
int[] arr = new int[]{2,0,3,1};
静态初始化的简化写法
int[] arr = {2,0,3,1};

直接打印数组类型的变量,会发现结果是一段看不懂的字符串,这就是引用数据类型变量的特点,它实际上代表的是一段内存空间的十六进制表示形式.真正的数据在JVM的堆内存空间中。

note:动态初始的构成元素都是默认是初始化成默认值的。

java数据结构1--数组、排序和Arrays工具类

3.内存结构

Java程序在运行时,为了提高运行效率,对内存进行了不同区域的划分,每一种区域都有特定的处理数据的方式和内存管理方式
主要有以下几种:

java数据结构1--数组、排序和Arrays工具类

  • 栈内存:用于存储局部变量,当数据使用完,所占空间会自动释放
  • 堆内存:存放数组和对象,通过new建立的实例都存放在堆内存中

每一个实例都有内存地址值
实例中的变量都有默认初始化值
当实例不再被使用,会在不确定的时间被垃圾回收器回收

  • 方法区:存放类文件和方法(面向对象部分再讲解)
  • 本地方法栈:供本地方法使用,与操作系统相关
  • 程序计数器--Program Counter:对字节码文件计数

数组的内存结构:不属于四类八种,所以占用两种内存

java数据结构1--数组、排序和Arrays工具类java数据结构1--数组、排序和Arrays工具类

4.数组操作常见问题

java数据结构1--数组、排序和Arrays工具类

5.数组的遍历

数组遍历:依次访问每个元素,访问的次数就是元素的个数,访问次数的确定:length属性(数组名.length)。

获取一个数组的最值(最大值,最小值)
改写:用键盘录入数组的长度和元素值
改写:数组元素随机生成,并获取最值
普通查找:获取指定元素第一次出现的索引
数组的复制:重点考察是否需要返回值
合并两个数组
data1 = [1,2,3]  data2 = [4,5,6]
练习:随机生成两个数组,并合并
抽取奇数索引的元素(偶数的自己练习)
数组的逆序(注意返回值类型)
练习

相关文章: