欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java语言基础知识---数组Array

程序员文章站 2024-03-15 12:41:17
...

一、数组的概念
1.数组(Array),多个相同类型的数据按照一定的顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理

2.数组相关概念:
2.1数组名
2.2元素
2.3角标、下标、索引
2.4数组的长度:元素的个数

3.数组的特点:
3.1数组是有序排列的
3.2数组属于引用数组类型的变量。数组的元素,既可以是基本数据类型也可以是引用数据类型
3.3创建数组对象会在内存中开辟一整块连续的空间
3.4数组的长度一单确定,就不能更改

4.数组的分类:
4.1按照维数:一维数组、二维数组……
4.2按照数组元素的类型:基本数据类型元素的数组,引用数据类型元素的数组

5.一维数组的使用:
5.1一维数组的声明和初始化
5.2如何调用数组的指定位置的元素
5.3如何获取数组的长度
5.4如何遍历数组
5.5数组元素的默认初始化值
5.5.1整型数组默认值为:0
浮点型数组默认值为:0.0
char型数组默认值为:0或’\u0000’,而不是’0’;
5.5.4 boolean类型数组默认值为false;
5.5.5 引用数组类型数组的默认值为null;
5.6数组的内存解析

//1.一维数组的声明和初始化
//1.1静态初始化;
int[] ids = new int[]{12,14,54,23};//声明和初始化;
//1.2动态初始化;
String[] names = new String[5];
//总结:数组的初始化完成,那么他的长度也就确定了;

//2.如何调用数组的指定位置的元素;
//数组的角标/索引是从0开始计算的
names[0] = "张三";
names[1] = "李四";
names[2] = "王麻子";
names[3] = "刘铁盖";
names[4] = "赵五";

//3.如何获取数组的长度;
//获取角标/索引是用的属性:length
int num = names.length;
System.out.println(num);//5

4.如何遍历数组
for(int i = 0;i < names.length; i++){
System.out.println(names[i]);//
}

5.数组元素的默认初始化值
5.1整型数组默认值为:0
5.2浮点型数组默认值为:0.0
5.3char型数组默认值为:0或'\u0000',而不是'0';
5.4boolean类型数组默认值为false
5.5 引用数组类型数组的默认值为null
int[] ids = new int[4]{};
for(int i = 0;i < ids .length; i++){
	System.out.println(ids [i]);//默认值为0;
}


5.6数组的内存解析
java语言基础知识---数组Array

二、二维数组的使用
1.理解:
可以看做是一个一维数组array1又最为另一个一维数组array2的元素存在;
二位数组分为外层数组的元素,内层数组的元素
int[][] arr = new int[4][3];
外层元素:arr[0],arr[1]……
内层元素:arr[0][0],arr[1][1]……

2.二维数组的使用:
2.1二维数组的声明和初始化
2.2如何调用数组的指定位置的元素
2.3如何获取数组的长度
2.4如何遍历数组
2.5数组元素的默认初始化值
初始化方式一:int[][] arr = new int[4][3];
外层元素的初始化值为:地址值
内层元素的初始化值为:与一维数组初始化情况相同

初始化方式二:int[][] arr = new int[4][];
外层元素的初始化值为:null
内层元素的初始化值为:不能调用,否则报空指针

2.6数组的内存解析

1.二维数组的声明和初始化
int[] arr = new int[]{};//一维数组
//静态初始化
int[][] arr1 = new int[][]{{1,2,3,},{4,6},{5,7,9}};
//动态初始化1
int[][] arr2 = new int[3][2];
//动态初始化2
int[][] arr2 = new int[3][];

//其他正确写法:(都是二维数组)
int arr3[][] = new int[][]{{1,2,3,},{4,6},{5,7,9}};
int[] arr4[] = new int[][]{{1,2,3,},{4,6},{5,7,9}};

//2如何调用数组的指定位置的元素
System.out.println(arr1[0][1]);//2;
System.out.println(arr2[1][1]);//null;
System.out.println(arr3[1][0]);//报空指针;

//3.获取数组的长度
System.out.println(arr4.length);//3
System.out.println(arr4[0].length);//3

//4.如何遍历二维数组
for(int i = 0;i < arr4.length; i++){
	for(int j = 0;j< arr4[i].length; j++){
		System.out.println(arr4[i][j]);//

	}
}
//5.二维数组元素的默认初始化值
int[][] arr = new int[4][3];
System.out.println(arr);//[aaa@qq.com
System.out.println(arr[0]);//[aaa@qq.com
System.out.println(arr[0][0]);//0

float[][] arr1 = new float[4][3];
System.out.println(arr1[0]);//地址值
System.out.println(arr4[0][0]);//0.0

String[][] arr1 = new String[4][2];
System.out.println(arr2[1]);//地址值
System.out.println(arr4[1][1]);//null