Java数组
一、Java数组概述
1、数组定义
(1)数组定义:数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。
(2)定义格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
2、数组初始化
(1)数组初始化概述:Java中的数组必须先初始化,然后才能使用
初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
(2)数组初始化方式
动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
静态初始化:初始化时指定每个数组元素初始值,由系统决定数组长度。
(3)静态初始化:初始化时指定每个数组元素的初始值,由系统决定数组长度。
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
(4)动态初始化
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度:数组中元素的个数
3、数组操作常见两个小问题
(1)数组索引越界
• ArrayIndexOutOfBoundsException
• 访问到了数组中的不存在的索引时发生。
(2)空指针异常
• NullPointerException
• 数组引用没有指向实体,却在操作实体中的元素时。
4、Java中二维数组
(1)二维数组概述:二维数组其实就是一个元素为一维数组的数组。
(2)二维数组定义格式:
格式1:数据类型[][] 变量名 = new 数据类型[m][n];
m:表示这个二维数组有多少个一维数组
n:表示每一个一维数组的元素个数
格式2:数据类型[][] 变量名 = new 数据类型[m][];
m:表示这个二维数组有多少个一维数组
格式3:数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};简化版:数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
5、Java中的内存分配
(1)Java 程序在运行时,需要在内存中的分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式
栈:存储局部变量
堆:存储new出来的东西
方法区:
本地方法区:和系统相关
寄存器:给CPU使用