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

一、数组的概念
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.一维数组的声明和初始化 2//1.1静态初始化; 3int[] ids = new int[]{12,14,54,23};//声明和初始化; 4//1.2动态初始化; 5String[] names = new String[5]; 6//总结:数组的初始化完成,那么他的长度也就确定了; 7 8//2.如何调用数组的指定位置的元素; 9//数组的角标/索引是从0开始计算的 10names[0] = "张三"; 11names[1] = "李四"; 12names[2] = "王麻子"; 13names[3] = "刘铁盖"; 14names[4] = "赵五"; 15 16//3.如何获取数组的长度; 17//获取角标/索引是用的属性:length 18int num = names.length; 19System.out.println(num);//5 20 214.如何遍历数组 22for(int i = 0;i < names.length; i++){ 23System.out.println(names[i]);// 24} 25 265.数组元素的默认初始化值 275.1整型数组默认值为:0 285.2浮点型数组默认值为:0.0 295.3char型数组默认值为:0或'\u0000',而不是'0'; 305.4boolean类型数组默认值为false 315.5 引用数组类型数组的默认值为null 32int[] ids = new int[4]{}; 33for(int i = 0;i < ids .length; i++){ 34 System.out.println(ids [i]);//默认值为0; 35} 36 37 38 39

5.6数组的内存解析
在这里插入图片描述

二、二维数组的使用
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数组的内存解析

11.二维数组的声明和初始化 2int[] arr = new int[]{};//一维数组 3//静态初始化 4int[][] arr1 = new int[][]{{1,2,3,},{4,6},{5,7,9}}; 5//动态初始化1 6int[][] arr2 = new int[3][2]; 7//动态初始化2 8int[][] arr2 = new int[3][]; 9 10//其他正确写法:(都是二维数组) 11int arr3[][] = new int[][]{{1,2,3,},{4,6},{5,7,9}}; 12int[] arr4[] = new int[][]{{1,2,3,},{4,6},{5,7,9}}; 13 14//2如何调用数组的指定位置的元素 15System.out.println(arr1[0][1]);//2; 16System.out.println(arr2[1][1]);//null; 17System.out.println(arr3[1][0]);//报空指针; 18 19//3.获取数组的长度 20System.out.println(arr4.length);//3 21System.out.println(arr4[0].length);//3 22 23//4.如何遍历二维数组 24for(int i = 0;i < arr4.length; i++){ 25 for(int j = 0;j< arr4[i].length; j++){ 26 System.out.println(arr4[i][j]);// 27 28 } 29} 30//5.二维数组元素的默认初始化值 31int[][] arr = new int[4][3]; 32System.out.println(arr);//[I@6d06d69c 33System.out.println(arr[0]);//[I@15db9742 34System.out.println(arr[0][0]);//0 35 36float[][] arr1 = new float[4][3]; 37System.out.println(arr1[0]);//地址值 38System.out.println(arr4[0][0]);//0.0 39 40String[][] arr1 = new String[4][2]; 41System.out.println(arr2[1]);//地址值 42System.out.println(arr4[1][1]);//null 43 44 45 46 47 48 49

代码交流 2021