数组可以看成是多个相同类型数据的组合(方便统一管理):
元素类型一致
数组变量属引用类型
数组也可以是对象
数组中的元素可以是任何类型,包括基本类型和引用类型
引用类型(new 出来的)-----对象 Person p = new Person();
数组的赋值:
int[] ages =new int[30];
1. 数组的声明:
数据类型[] 数组名称 int[] arr; //定义
数据类型 数组名称[] int arr[];
java语法中不允许:int[3] arr; 但允许: int[]arr = new int[3];
变量的本质:内存 inti;int j;int k;
数组的本质:一段连续的内存int[] arr;
连续的内存空间:数组
不连续的内存空间:链表
数组单元也会默认赋初值 ------ new 对象成员变量
1.1 数组定义 int[]arr; //定义数组`
1.2 创建数组对象 arr =new int[3]; //创建对象
1.3 初始化 for (inti = 0; i<3; i++) {
arr[i] = i;
} //为数组元素赋初值 i是循环变量,初值为0,正好对应数组的起始索引[0]
//i++因为数组是连续的内存单元,索引[0][1][2]
1.3.1 动态初始化
arr[0]= 10; arr[1] = 20; arr[2] = 30
1.3.2 静态初始化
int[]arr = {10,20,30} JVM 会根据{}元素个数,自动计算数组长度,从而分配空间
class Date { private int year; private int month; private int day; public Date(int year,int month,int day) { this.year = year; this.month = month; this.day = day; } }
2. length
length:表示数组长度的属性arr.length
//字符串长度: Strings = "abc" s.length();
3.二维数组
数组元素仍然是数组-----多维数组
数组元素是基本类型或者引用类型(非数组)-----一维数组
一维数组的元素是基本类型或者引用类型(非数组)------二维数组---------表格
java中多维数组的声明和初始化
定义:int[][]arr;
创建对象:
初始化:
动态初始化:
arr1 = new int[3][]; arr1 3 个数组元素,分别指向连续的内存块是不确定的
arr2 = new int[3][2] 每个数组元素都指向两个连续内存单元
静态初始化:
int[][] arr3 = {{1,2},{3,4},{5,6}};