四、数组
介绍
数组指的是一种容器,可以用来存储同种数据类型的多个值
数组容器在存储数据的时候,需要结合隐式转换考虑
建议
:容器的类型,和存储的数据类型保持一致
一维数组
数组的定义
1.
数据类型[] 数组名
int[] array
int[] array = new int {1,2,3}
int[] array = {1,2,3}
2.
数据类型 数组名[]
int array[]
int array[]= new int {1,2,3}
int array[]= {1,2,3}
数组的静态初始化:就是在内存中,为数组开辟空间,并将数据存入容器的过程
扩展:地址值的格式含义
1:对象类型
2:表示该对象内数据的类型(可无)
3:@ 表示一个捡个符号(固定格式)
4:对象地址值(十六进制)
通常情况下我们把整体叫做地址值
数组元素的访问
数组名[索引];
索引:也叫做下标,或角标。
特点:从0开始,逐个+1,连续不断
遍历
将数组中的所有内容取出来,取出来之后可以进行 打印,求和, 判断等操作
使用length属性获得数组的长度
int arr[]={1,135,15,1,1916,12,15,135,15,31,1,351,31,2,11,61,56};
for(int i = 0 ;i< arr.length;i++){
System.out.println(arr[i])
}
动态初始化
初始化时只指定数组的长度,有系统为数组分配初始值。
格式:
数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];
数组默认初始化值的规律:
int:null
flat:0.0
double:0.0
char:‘u0000’ 空格
boolean:false
引用数据类型:null
Java 内存分配
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或数组,new来创建的,都存储在堆内存
方法区:存储可以运行的class文件
本地方法栈:JVM在使用操作系统功能的时候使用,与我们开发无关
寄存器:给CPU使用,与我们开发无关
二维数组
应用场景
当我们需要把数据分组管理的时候,就需要用到二维数组
初始化
静态初始化:
数据类型[][] 数组名= new 数据类型[][]{{元素1,元素二},{元素1,元素二}......};
int[][] arr = new int[][]{{1,2},{3,4},{5,6}......};
简化格式:
数据类型[][] 数组名= {{元素1,元素二},{元素1,元素二},{元素1,元素二}......}
int[][] arr = {{1,2},{3,4},{5,6}......};
int arr[][] = {{1,2},{3,4},{5,6}......};
遍历:
int arr[][] = {{1,2},{3,4},{5,6}};
for(int i = 0 ; i< arr.length;i++){
for(int j = 0 ; j< arr[i].length;j++){
System.out.print(arr[i][j])
}
System.out.println();
}
动态初始化:
数据类型[][] 数组名= new 数据类型[m][n]
m表示这个二维数组,可以存放多少个一维数组
n表示每一个一维数组,可以存放多少个元素
int[][] arr = new int[2][3];
二维数组的内存图