数组:
定义:保存同一种数据类型数据的容器。
格式:
(1)对象类型[] 数组名称 = new 对象类型[数组长度];
int[] a = new int[5];
a[0] = 1;
a[1] = 2;
(2)对象类型[] 数组名称 = new 对象类型[]{元素1,元素2,元素3...}
int[] b = new int[]{1,2,3,4,5};
int[] c = {1,2,3,4,5}; //数组初始化过程中如果不使用new,必须将声明、创建、初始化都放在一条语句中,分开会产生语法错误。
优点:
数组最大的优点就是可以从0开始给存进来的元素进行排序。
缺点:
数组创建之后不能修改数组的大小。
数据的遍历:
public static void main(String[] args) { int[] b = new int[]{1,2,3,4,5}; for(int i=0;i<b.length;i++){ System.out.println(b[i]); }
数组的常见异常:
(1)NullPointerException 空指针异常;
原因:引用类型变量没有指向任何对象,而访问了对象的属性或调用了对象的方法。
public static void main(){ int arr = {1,2,3}; arr = null; System.out.println(arr[1]); }
arr = null;代表该变量不再引用任何对象,即不记录任何的内存地址。
垃圾对象:没有引用类型变量所指向的对象就是垃圾对象。
栈内存的特点:栈内存存储的都是局部变量,变量一旦出了自己的作用域,就会马上从内存中消失,释放内存空间。
new关键字:凡是以new关键字创建的对象,jvm都会在堆内存中开辟一个新的空间,创建一个新的对象。
(2)ArrayIndexOutOfBoundsException 数组越界;
原因:访问了不存在的索引值。【数组角标从0开始】
public static void main(){ int[] arr = {1,2,3}; System.out.println(arr[3]); }
二维数组:
定义:实质就是存储一维数组。
格式:
int[][] a = new int[3][4];
遍历:
public static void main(String[] args) { int[][] a = {{1,2,3},{4,5,7}}; for(int i=0;i<a.length;i++){ for(int j=0;j<a[i].length;j++){ System.out.println(a[i][j]); } } }