JAVA数组
数组:
1. 数组的概念:一组相同数据类型的集合
2. 数组的声明:
数据类型[] 数组名;
数据类型 数组名[];
3. 数组的初始化:
1). 动态初始化:数组名 = new 数据类型[数组长度];
2). 静态初始化:数组名 = new 数据类型[]{值1,值2,值3,…};
所谓初始化,就是为数组对象的元素分配内存空间,并为每个数组元素指定初始值。
4. 数组定义语法:
1). 以长度定义() :数据类型[] 数组名 = new 数据类型[数组长度];
2). 以值定义:数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,…};
3). 仅在定义时可以简写为:数据类型[] 数组名 ={值1,值2,值3,…};
5. 数组的种类:一维数组,二维数组,n维数组(开发过程中优先使用维数低的数组)
6. 数组的相关概念:
1). 获取数组的长度:数组名.length;
2). 数组的下标范围:从0开始到数组长度-1;
3). 获取数组元素:数组名[下标];
4). 数组赋值:数组名[下标] = 值;
5). 使用数组的单个数据:数组名[下标];
6). 输出数组的所有数据:三种方法(while循环,for循环,for each循环)
7. 关于数组变量和数组对象:
1) java的数组变量是引用类型的变量
2) 大部分时候,我们把数组变量和数组对象搞混了,数组变量只是一个引用变量(类似C里的指针),通常存放在栈内存中(也可放入堆内存中的);而数组对象就是保存在堆内存中的连续内存空间。对数组执行初始化,其实并不是对数组变量执行初始化,而是要对数组对象执行初始化---也就是为该数组对象分派一块连续的内存空间,这块连续内存空间的长度就是数组的长度。
对于数组变量来说,它并不需要进行所谓的初始化,只要让数组变量指向一个有效的数组对象,程序即可正常使用该数组变量了。
3) 所有局部变量都是放在栈内存里保存的,不管其是基本类型的变量,还是引用类型的变量,都是存储在格子的方法栈区中;但引用类型变量所引用的对象(包括数组,普通java对象)则总是存储在堆内存中。
例如:int[] array = {1,2,3,4,5};
// 在上式中,array叫作数组或者数组变量;
// {1,2,3,4,5}叫作数组对象;
// 里面的1,2,3,4,5都是数组元素;