-
介绍:
数组是一种数据类型,是引用类型,是一块连续的内存空间,用于存储和管理相同类型的多个数据。
-
定义:-- > 数组的声明方式
- 先声明,在开辟内存空间--> int [] a; a=new int[5];
- 声明的同时静态初始化 -- > int[] a={1,3,5}
- 声明并开辟内存空间 -- >int [] a=new int[5]
-
使用:-- >数组名[下标]:下标的有效范围是:0到长度-1;
- 存元素:
- 取元素:
- 遍历数组:
代码如下:
package com.lvsling.test;
public class Test1 { public static void main(String[] args) { //定义一个数组 int[] a=new int[5]; //存数据 a[0]=1; a[1]=3; a[2]=5; a[3]=7; a[4]=9; //取数据 System.out.println(a[2]); System.out.println(a[4]); //遍历数组中的元素 for (int i = 0; i < a.length; i++) { System.out.println(a[i]); }
} } |
-
数组扩容
- 创建新数组,
- 把原数组中的内容复制到新数组中
- 返回新数组
代码如下:
package com.lvsling.test; /* * 扩容 */ public class Test2 { public static void main(String[] args){
int[] b={1,2,3,4,5}; b=expand3(b); for(int i=0;i<b.length;i++){ System.out.println(b[i]); } } //循环将原数组中所有元素逐一赋值给新数组。 public static int[] expand1(int[] a){ int[] b=new int[9]; for(int i=0;i<a.length;i++){ b[i]=a[i]; } return b; } //System.arraycopy(元数组,原数组起始,新数组,新数组起始,长度); public static int[]expand2(int[] a){ int[] b=new int[7]; System.arraycopy(a,1,b,2,3); return b; } //java.util.Arrays.copyOf(原数组,新长度); public static int[]expand3(int[] a){ return java.util.Arrays.copyOf(a,10); } } |
-
自我总结:
以上说明了数组的声明,使用,遍历以及数组的扩容。核心就是开辟出内存空间用来存储我们所需的数据。
拓展与提升:
-
数组元素是有默认值的。
-
在数组开辟内存空间后,不给元素指定的值,系统会默认分配值。
- 整数--------->0
- 小数--------->0.0
- 布尔--------->false
- 字符--------->'\u0000'
- 引用类型--------->null
-
2,二维数组:
1,是一维数组的数组
2,开辟内存空间时,至少要指定 行的维数;
3,声明的同时 静态初始化 必须在同一行代码中完成;
4,开辟内存+静态数据 开辟内存时行和列的维数 都不能指定。
-