1、概念
数组就是同一种类型数据的集合。其实数组就是一个容器
好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。
格式1:
元素类型【】数组名= new 元素类型【元素个数或数组长度】;
int[ ] arr = new int[ 5];
格式2:
元素类型【】 数组名 = new 元素类型【】{元素,元素,……};
int[ ] arr = new int [ ]{3, 5, 1,7};
int [ ] arr = {3, 5 ,1 , 7};
2、内存的划分:
a、寄存器
b、本地方法区
c、方法区
d、栈内存
存储的都是局部变量
而且变量所属的作用域一旦结束,该变量就自动释放
1 { 2 //局部代码块,限定局部变量的生命周期 3 int age=3; 4 System.out.println(age); 5 }//age变量将释放,往后再无法使用age变量
e、堆内存
存储的数组和对象(其实数组就是对象) 凡是new 都建立在堆中
特点:
1、每一个实体都有首地址值
2、堆内存中的每一个变量都有默认初始化值,根据类型的不同而不同。
整数是0,小数是0.0,或者0.0f boolean false char
1 public class Demo{ 2 public static void main(String args[]) { 3 4 int[] arr = new int[3]; 5 //当访问到数组中不存在的角标时,会发生数组索引越界异常 6 //arr=null; 7 System.out.println(arr[0]); 8 //当引用型变量没有任何实体指向时,还在用其操作实体,就会发生空指针异常。 9 System.out.println(arr);//直接将数组名称打印,会输出什么东西? 10 //会输出数组实体的哈希值 11 12 int[] arr0 = new int[3];//需要一个容器,但是不明确容器的具体数据 13 int[] arr1 = new int[]{15,56,45};//需要一个容器,存储已知的具体数据 14 int[] arr2 = {1,2,33,66}; 15 //数据只要一多,就要用数组存起来 16 17 int[] arr3 = {33,45,681,5}; 18 System.out.println(arr3[2]); 19 for(int x=0;x<4;x++) { 20 System.out.println(arr3[x]); 21 } 22 23 //获取数组的长度,用length 24 int length = arr3.length;//这是数组自带的属性,可以用length得到数组的长度。 25 System.out.println("length:"+arr3.length); 26 27 } 28 29 }
来源:https://www.cnblogs.com/langdao/p/11001070.html