- Java内存分配:
- 方法区:字节码文件(.class)加载时所进入的内存。
栈:(由JVM虚拟机,自动调用main方法运行的时候,进入栈内存)方法运行的时候,要进入的内存。
堆:new出来的东西,都会进入堆内存。
-开辟空间
-产生地址值
一维数组内存图:
二维数组:一种容器,该容器用于存储一维数组。
使用情况:若要操作的多组数据,属于同一组数据就可以考虑使用二维数组行维护。
二维数组静态初始化格式:
格式:数据类型[ ] [ ] 数组名= new 数据类型 [ ] [ ]{{元素1,元素2},{元素1,元素2}};
简化格式:数据类型[ ] [ ] 数据名={{元素1,元素2},{元素1,元素2}};
范例:int[ ][ ] arr=new int[ ] [ ] {{11,22},{33,44}};
int[ ][ ] arr= {{11,22},{33,44}};
public static void main(String[] args){
int[][] arr={{11,22,33},{44,55,66}};
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
//二维数组储存一维数组的时候,具体储存的也是地址值;
//二维数组的元素访问:数组名[m索引][n索引]
//m索引:你要访问哪一个一维数组
//n索引:你要访问一维数组中的哪一个元素
System.out.println(arr[1][1]);
}
//二维数组的遍历操作
//1、遍历二维数组,获取到每一个一维数组
//2、继续遍历一维数组,获取具体的元素
public static void main(String[] args){
int[][] arr={{11,22,33},{44,55,66}};
//遍历二维数组,获取到每一个一维数组
for(int i=0;i<arr.length;i++){
//遍历一维数组,获取具体的元素
for(int j=0;j<arr[i].length;j++){
System.out.println(arr[i][j]);
}
}
}
二维数组动态初始化:
格式:数据类型[ ][ ] 数据名=new 数据类型 [m][n];
m:这个二维数组可以存放多少个一维数组
n:每一个一维数组中可以存放多少元素
可以将提前创建好的一维数组存入二维数组中。
二维数组内存图: