数组的概念:
数组是存储多个变量(元素)的东西(容器)
数组可以存储基本数据类型也可以存储引用数据类型
数组定义的格式:
1.数据类型[] 数组名称
2.数据类型 数组名称[]
举例:
1.int[] arr //定义了一个int类型的数组,名称是arr
2.int arr[] //定义了一个int类型的arr数组
数组的初始化
1.动态初始化:具体数组中的元素值,有系统默认给定,数组的长度由自己定义
数据类型[] 数组名称 = new 数据类型[数组长度]
2.静态初始化:数组的元素值由自己给定,数组的长度由系统默认给定
class ArrayDemo{
public static void main(String[] args){
//定义一个数组,动态初始化
int[] arr = new int[3] ;//0,1,2
/*
=号左边
int:规定数组中的元素值都是int类型
[]:定义数组(没有说明具体的数组形式,默认一维数组)
=号右边
new :表示需要在栈内存开辟空间
int:规定数组中的元素值都是int类型
[] :一维数组
3:表示当前数组的长度是3 (3个元素)
*/
System.out.println(arr) ;//[I@6d06d69c 类似内存地址值
}
}
class ArrayDemo{
public static void main(String[] args){
//定义数组,静态初始化
int[] arr = {10, 20 ,30 ,40} ;
//输出内容
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
}
}
}
数组中常遇见的两个异常
1)数组角标越界:
访问不存在的数组中的角标
java.lang.ArrayIndexOutOfBoundsException :属于运行时期异常
解决方案:
排查具体原因,具体哪一行角标越界
2)空指针异常:
java.lang.NullPointerException :空指针异常! :(属于运行时期异常)
为何出现空指针当一个对象为的引用不存在了,然后还需要使用对象完成一些特定功能!
解决方案:
对当前这个对象进行非空判断
if(对象名称!=null){
//使用对象完成特定的功能
}