1.数组(Array),是多个相同类型数据按一定顺序排列 的集合,并使用一个名字命名,并通过编号的方式 对这些数据进行统一管理。 1>数组的常见概念 数组名 下标(或索引) 元素 数组的长度 2>数组特点 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的首地址。 数组的长度一旦确定,就不能修改。 3>数组的分类: 按照维度:一维数组、二维数组、三维数组、… 按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组 Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int a[5]; //非法 一维数组 1.静态初始化:数组初始化和数组元素的赋值同时进行 int [] ids;//声明 ids=new int []{1,2,3};//初始化 int []arr={1,2,3,4};//类型推断,正确写法 int arr[]={1,2,3,4};//[]可以放在arr之前或之后,但不能放在int前 2.动态初始化:数组初始化和数组元素的赋值分开进行 String[] names=new String[5]; int [] name=new int[5]; 3.获取数组长度System.out.println(names length);//5 System.out.println(ids.length); 4.遍历数组 for(i=0;i<names.length;i++) { System.out.println(names[i]); } 5.数组元素默认初始化值 >整型:0 >浮点型:0.0 >char型:0或‘\u0000’不是'0' >布尔型:false >引用数据类型:null(空) 6.数组的内存解析 二维数组 1.静态初始化: int [][]arr1=new int [][]{{1,2,3},{4,5,},{6,7}}; 2.动态初始化: String [][]arr2=new String[3][2];String [][]arr3=new String[3][]; 3.调用数组指定位置的元素 arr3[1]=new String[4];//第二行赋值长度为四 System.out.println(arr3[1][0]);//输出第二行第一个元素 4.获取二维数组长度 int arr4[][]=new int[][]{{1,2,3},{4,5},{6,7}}; System.out.println(arr4.length); System.out.println(arr4[0].length); System.out.println(arr4[1].length); 5.遍历二维数组 for(int i=0;i<arr4.length;i++) { for(int j=0;j<arr4[i].length;j++) { System.out.print(arr4[i][j]); } System.out.println(); } 6.二维数组使用 规定:二维数组分为外层数组的元素,内层数组的元素 外层元素:arr[0],arr[1] 内层元素:arr[0][0],arr[1][2] 7.内存解析 1>int arr[][]=new int [4][3]; System.out.println(arr[0]);//[I@14ae5a5System.out.println(arr[0][0]);//0 2>double[][]arr3=new double[4][]; System.out.println(arr3[1]);//null System.out.println(arr3[1][0]);//报错 数组本身是引用数据类型 8.初始化: int [][]arr=new int [4][3]; 外层元素的初始化值为:地址值 内层元素的初始化值为:与一维数组初始化相同 int [][]arr=new int [4][]; 外层元素的初始化值为:null 内层元素的初始化值为:不能调用,否则报错