2019-01-14
内容:数组
一、一维数组
数组的声明:变量类型[] 数组名; / 变量类型 数组名[];
数组的初始化: *静态初始化:数组名 = new 变量类型[]{ , , ,……}; / 数组名 = { , , ,……};
*动态初始化:数组名 = new 数据类型[数组长度]
数组名[i] = 变量值;
数组的调用:数组名[要引用的下标]
数组的遍历:for (int i = 0; i < 数组名.length; i++){
}
补充:成员变量VS局部变量
相同点:*都是变量,声明方法相同
*都有作用域
不同点:*在程序中声明的位置不同:成员变量在类的里面方法的外面,而局部变量在形参或者方法里面
*成员变量有四种修饰符,而局部变量没有修饰符
*初始化不同:成员变量可以不显式地赋值,它会有默认的初始化值,而局部变量在初始化时必须进行显式赋值。
变量类型 默认初始化值
boolean false
byte,short,int,long 0
float,double 0.0
char 空格
引用类型 null
*在内存中存放的位置不同:成员变量存放在堆空间中,而局部变量存放在栈空间中
二、二维数组
数组的声明:变量类型[][] 数组名; / 变量类型[] 数组名[];
数组的初始化:*静态初始化:数组名 = new 变量类型[][]{ , , ,……}; / 数组名 = { , , ,……};
*动态初始化:数组名 = new 变量类型[数组的长度][];
数组名[存放数组的第几个内存块的下标] = {}; /
数组名[存放数组的第几个内存块的下标] = new 变量类型[]{}; /
数组名[存放数组的第几个内存块的下标] = new 变量类型[此内存块的大小];
数组名[存放数组的第几个内存块的下标][此内存块的第几个元素] = 变量值
数组的调用:数组名[数组的第几个内存块的下标][此内存块的第几个元素]
数组的遍历:for (int i = 0; i < 数组名.length; i++){
for (int j = 0; j < 数组名[i].length; i++){
}
}
三、数组中常见的异常
@数组下标越界异常:*java.lang.ArrayIndexOutOfBoundsException
*出现原因:下标超过了数组下标的范围
@空指针异常:*NullPointerException
*出现原因:处于堆空间的数组内存没有栈空间的变量来引用
四、JAVA中提供的排序
在Arrays工具类的Arrays.Sort(arr);方法可以实现从小到大的排序。
数组的声明:变量类型[] 数组名; / 变量类型 数组名[];
数组的初始化: *静态初始化:数组名 = new 变量类型[]{ , , ,……}; / 数组名 = { , , ,……};
*动态初始化:数组名 = new 数据类型[数组长度]
数组名[i] = 变量值;
数组的调用:数组名[要引用的下标]
数组的遍历:for (int i = 0; i < 数组名.length; i++){
}
补充:成员变量VS局部变量
相同点:*都是变量,声明方法相同
*都有作用域
不同点:*在程序中声明的位置不同:成员变量在类的里面方法的外面,而局部变量在形参或者方法里面
*成员变量有四种修饰符,而局部变量没有修饰符
*初始化不同:成员变量可以不显式地赋值,它会有默认的初始化值,而局部变量在初始化时必须进行显式赋值。
变量类型 默认初始化值
boolean false
byte,short,int,long 0
float,double 0.0
char 空格
引用类型 null
*在内存中存放的位置不同:成员变量存放在堆空间中,而局部变量存放在栈空间中
二、二维数组
数组的声明:变量类型[][] 数组名; / 变量类型[] 数组名[];
数组的初始化:*静态初始化:数组名 = new 变量类型[][]{ , , ,……}; / 数组名 = { , , ,……};
*动态初始化:数组名 = new 变量类型[数组的长度][];
数组名[存放数组的第几个内存块的下标] = {}; /
数组名[存放数组的第几个内存块的下标] = new 变量类型[]{}; /
数组名[存放数组的第几个内存块的下标] = new 变量类型[此内存块的大小];
数组名[存放数组的第几个内存块的下标][此内存块的第几个元素] = 变量值
数组的调用:数组名[数组的第几个内存块的下标][此内存块的第几个元素]
数组的遍历:for (int i = 0; i < 数组名.length; i++){
for (int j = 0; j < 数组名[i].length; i++){
}
}
三、数组中常见的异常
@数组下标越界异常:*java.lang.ArrayIndexOutOfBoundsException
*出现原因:下标超过了数组下标的范围
@空指针异常:*NullPointerException
*出现原因:处于堆空间的数组内存没有栈空间的变量来引用
四、JAVA中提供的排序
在Arrays工具类的Arrays.Sort(arr);方法可以实现从小到大的排序。