目录
1、数组定义格式
1.1数组概述:
数组(array)是一种用于存储多个相同类型数据的存储模型, 一次性声明大量的用于存储数据的变量。
格式一:数据类型 [ ] 变量名 范例: int[ ] arr 定义了一个int类型的数组,数组名是arr。
格式二:数据类型 变量名[ ] 范例: int arr[ ] 定义了一个int类型的变量,变量名是arr数组。
2、数组初始化方式
Java中的数组必须先初始化,然后才能使用 所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
1)动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。例: int [ ] arr = new int[3];
2)静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。例:int [ ] arr = { 1 , 2 , 3 } ;
3、数组元素访问
数组变量访问方式 ,格式:数组名,数组内部保存的数据的访问方式 ,格式:数组名[索引]
索引是数组中数据的编号方式 作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名。特征①:索引从0开始 特征②:索引是连续的 特征③:索引逐一增加,每次加1。
4、内存分配
Java 程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
数组元素类型 | 默认初始值 |
byte | 0 |
Short | 0 |
Int | 0 |
Long | 0L |
Float | 0F |
Double | 0.0 |
Char | 表现为空 |
Boolean | False |
引用类型 | null |
栈内存:存储局部变量 定义在方法中的变量,例如:arr 使用完毕,立即消失。
堆内存:存储new出来的内容(实体,对象) 数组在初始化时,会为存储空间添加默认值 整数:0 浮点数:0.0 布尔:false 字符:空字符 引用数据类型:null 每一个new出来的东西都有一个地址值 使用完毕,会在垃圾回收器空闲时被回收。
5、常见问题
1)索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题。
2)空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常。
null:空值,引用数据类型的默认值,表示不指向任何有效对象。