数组的定义
概念:
同一类型数据的集合,其实数组就是一个容器。
数组的好处:
可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1:
元素类型[]数组名=new元素类型[元素个数或数组长度]
int [] arr = new int [3 ]
例:
class DemoAlt{
public static void main(String[] args){
int[] arr=new int [3];
arr[0]=89;{
System.out.println(arr[0]);
}
}
}
内存的划分:
-
寄存器
-
本地方法区
-
方法区
-
栈内存特点:存储的都是局部变量。
而且变量所属的作用域一旦结束,该变量就自动释放。
-
堆内存:存储是数组和对象(其实数组就是对象)凡是new建立在堆中。
特点:
-
每一个实体都有首地址值
-
堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。
例:整数0,小数0.0或0.0f,boolean false,char“\u0000”。
3.垃圾回收机制
数组——常见问题
class DemoAlt1{
public static void main(String[] args){
int[] arr=new int[3];{
System.out.println(arr[3]);//ArrayIndexOFBoundsException.
}
}
}
注:当访问到数组中不存在的角标时,就会发生该异常。
class DemoAlt1{
public static void main(String[] args){
arr=null;//(空的意思){
System.out.println(arr[0]);//NullPointorException
}
}
}
注:当引用型变量没有任何实体指向时,还在用其操作实体。就会发生该异常。
class DemoAlt2{
public static void main(String[] args){
int[] arr=new int[3];{
System.out.println(arr);//[ I(表示int类型) @(分界线) c1716(十六进制)
}//实体的类型,有一半中括号([)数组型实体。
}
}
注:这里打印arr没有意义,一般做测试用。当我们不知道这个变量接收的是什么的时候,
直接把引用型变量测试一下就知道了。
数组的定义
概念:
同一类型数据的集合,其实数组就是一个容器。
数组的好处:
可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1:
元素类型[]数组名=new元素类型[元素个数或数组长度]
int [] arr = new int [3 ]
例:
class DemoAlt{
public static void main(String[] args){
int[] arr=new int [3];
arr[0]=89;{
System.out.println(arr[0]);
}
}
}
内存的划分:
-
寄存器
-
本地方法区
-
方法区
-
栈内存特点:存储的都是局部变量。
而且变量所属的作用域一旦结束,该变量就自动释放。
-
堆内存:存储是数组和对象(其实数组就是对象)凡是new建立在堆中。
特点:
-
每一个实体都有首地址值
-
堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。
例:整数0,小数0.0或0.0f,boolean false,char“\u0000”。
3.垃圾回收机制
数组——常见问题
class DemoAlt1{
public static void main(String[] args){
int[] arr=new int[3];{
System.out.println(arr[3]);//ArrayIndexOFBoundsException.
}
}
}
注:当访问到数组中不存在的角标时,就会发生该异常。
class DemoAlt1{
public static void main(String[] args){
arr=null;//(空的意思){
System.out.println(arr[0]);//NullPointorException
}
}
}
注:当引用型变量没有任何实体指向时,还在用其操作实体。就会发生该异常。
class DemoAlt2{
public static void main(String[] args){
int[] arr=new int[3];{
System.out.println(arr);//[ I(表示int类型) @(分界线) c1716(十六进制)
}//实体的类型,有一半中括号([)数组型实体。
}
}
注:这里打印arr没有意义,一般做测试用。当我们不知道这个变量接收的是什么的时候,
直接把引用型变量测试一下就知道了。