数组
一,数组
数组是一种容器,存储大量数据,是一种引用类型,保存的 数据实质是内存中的地址。
定义格式:
数据类型 [] 变量名 = new 数据类型[元素个数]
int a = new int[10];
访问数组存储的元素依赖于索引
引用格式:
数组名[索引]
System.out,println(a[5]);
二,JVM
操作系统把部分的内存分配给虚拟机,虚拟机把属于自己的内存进行五个区域的划分:
1-寄存器:内存与CUP之间。
2-本地方法栈:JVM调用系统中放入功能。
3-方法和数据共享:运行时期class文件进入的地方。
4-方法栈:所有方法运行时期,进入的内存。
5-堆:存储的是容器和对象。
三,数组属性
java 提供一个操作索引的数组的一个长度属性lenght
使用属性:数组名.lenght
数据类型:整型
索引赋值:数据类型[] = 元素;
数组最值:最小索引为0,最大索引为lenght-1
四,数组的两种定义方式
1,标准定义:
数据类型[] 变量名 = new 数据类型[]{元素1,元素2};
2,简洁定义:
数据类型[] 变量名 ={元素1,元素2};
五,数组遍历
获取所有的数组元素,依靠索引和for循环来实现。
int[][] arr = {{1,2,3},{4,5}};
for(int i = 0;i<arr.lenght;i++){
循环体;
}
六,数组异常
约定:
int arr = {5,2,1}; //定义数组
1,索引异常:
System.out.println(arr[3]);
注意:arr[3]中最大索引值超过实际数组索引值。
2,空指针异常:
System.out.println(arr[2]);
arr = null;
注意:“arr = null” 语句使得数组的arr[0]丢失了首地址。
七,二维数组
数组中的数组,即数组中的存储的数组。
标准格式:
数据类型[][] 变量名 = new 数据类型[元素长度][元素长度];
简单格式:
数据类型[][] 变量名 = {{},{},{}};
八,二维数组遍历
依靠for循环的嵌套实现,第一个for循环遍历二维数组,遍历过程中第二for循环遍历一维数组
public class ArrayArrayDemo{
public static void main(String[] args){
int[][] arr = {{1,2,3},{4,5}};
for(int i = 0;i < arr.lenght;i++){
for(j = 0;j<arr[i].lenght;j++){
System.out.println(arr[i][j]);
}
System.out.println();//空行的作用
}
}
}