数组
数组是多个相同类型数据按一定顺序排序的集合,通过下标的形式来管理
数组是引用数据类型,数组的原申诉既可以是基本类型也可是是引用类型,长度一旦确定不可修改
数组分类:一维数组,二维数组。。。。
数组元素的默认初始值
整型:0
浮点型:0.0
char型:0、'0'
String类型:null
Boolean类型:false
数组的内存解析:
![](https://img-blog.csdnimg.cn/img_convert/71dc6bcca5cb2dac47a7db2b8ff5f340.jpeg)
一维数组
package day04;
public class ArrayTest {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//静态初始化
int[] arr= {1,2,3,4};
//动态初始化
String[] names=new String[5];
names[0]="何林阳";//数组赋值
System.out.println(names[0]);
System.out.println(arr.length);
//数组遍历
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
for(int i=0;i<names.length;i++) {
System.out.println(names[i]);
}
String[] arr1=new String[4];
arr1[1]="刘德华";
arr1[2]="张学友";
arr1=new String[3];//数组重新指向了一个新的数组
System.out.println(arr1[1]);
System.out.println(arr[1]);
}
}
二维数组
package day04;
public class ArrayTest2 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//静态初始化
int[][] str=new int[][] {{1,2},{3,4,5}};
//动态初始化1
int[][] str1=new int[3][5];
//动态初始化2
int[][] str2=new int[3][];
//调用指定位置上的元素
System.out.println(str[0][1]);//2
//获取数组上的长度
System.out.println(str.length);//2
System.out.println(str[1].length);//3
//遍历数组
for(int i=0;i<str.length;i++) {
for(int j=0;j<str[i].length;j++) {
System.out.println(str[i][j]);
}
}
/*
数组元素的默认初始化值
外层元素:str[0],str[1]
内层元素:str[0][1],str[1][2];
外层元素默认值都是地址值,内层元素和一维数组一样
int[][] str2=new int[3][];
外层:null 内层:不能调用,否则报错
*/
}
}