2021.5.25
1.数组的特点:
1.数组是有序的;
2.数组属于引用数据类型的变量;
3.数组在内存中是连续的;
4.数组的长度一旦确定不能修改。
2.数组的分类:
1.按照维数
2.按照数组元素的类型:基本数据类型数组,引用数据类型数组。
3.一维数组的使用
1.一维数组的声明和初始化
2.如何调用指定位置元素
3.获取数组长度
4.如何遍历数组
5.数组元素的默认初始化值
6.数组的内存解析
1.一维数组的声明和初始化
int[] ids;//声明
//静态初始化:数组的初始化和数组元素的复制操作同时进行
ids = new int[]{1001,1002,1003,1004};
//动态初始化:数组的初始化和数组元素的复制操作同时进行
String[] names = new String[5];
2.如何调用指定位置元素
names[0]="11111";
names[1]="22222";
names[2]="33333";
names[3]="44444";
names[4]="55555";
3.获取数组长度
//属性:length
System.out.println(names.length);
System.out.println(ids.length);
4.如何遍历数组
for (int i=0;i<names.length;i++){
System.out.println(names[i]);
}
5.数组元素的默认初始化值
/* 5.数组元素的默认初始化值
整形:0;浮点型0.0;char:\u000;boolean型:false:引用类型:null*/
int[] score = new int[5];
for (int i=0;i<score.length;i++){
System.out.println(score[i]);
6.数组的内存解析
内存的简化结构
1.二维数组的声明和初始化
//1.二位数组的初始化
//静态初始化
int[][] arr1 = new int[][]{{1,2,3},{4,5,6},{7,8,9}};
//动态初始化 1
String[][] arr2 = new String[3][2];
//动态初始化 2
String[][] arr3 = new String[3][];
}
2.如何调用指定位置元素
//2.指定位置的调用
System.out.println(arr1[0][1]);
3.获取数组长度
System.out.println(arr1.length);//等于3
4.如何遍历数组
for(int i=0;i<arr1.length;i++){
for(int j=0;j<arr1[i].length;j++){
System.out.println(arr1[i][j]);
}
}
5.数组元素的默认初始化值
//情况一
int[][] arr = new int[3][3]
//情况二
int[][] arr = new int[3][]
情况一:内层为地址值,外层和一维数组类比
情况二:内层为null,外层不能调用否则报错
6.数组的内存解析
4.数组常见异常
1.数组角标越界异常
2.空指针异常
情况一:
int[] arr1 = new int[]{1,2,3,4};
arr1 = null;
System.out.println(arr1[0]);
情况二:
int[][] arr2 = new int [4][]{};
System.out.println(arr2[0]);