数组:
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
格式一:
数据类型[] 数组名;
示例:
int[] arr;
double[] arr;
char[] arr;
格式二:
数据类型数组名[];
示例:
intarr[];
doublearr[];
chararr[];
动态数组初始化:
数组动态初始化就是只给定数组的长度,由系统给出默认初始化
int[] arr=newint[3]; System.out.println(arr);//[I@1540e19d//访问数组元素格式System.out.println(arr[0]);//0System.out.println(arr[1]);//0System.out.println(arr[2]);//0
静态数组初始化:
在创建数组时,直接将元素确定,由系统计算出数组的长度。
标准定义格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
简写定义格式:
数据类型[] 数组名 ={元素1,元素2,...};
publicclassArrayDemo { publicstaticvoidmain(String[] args) { //定义数组int[] arr= {1, 2, 3}; //输出数组名System.out.println(arr); //输出数组中的元素System.out.println(arr[0]);//1System.out.println(arr[1]);//2System.out.println(arr[2]);//3 } }
数据元素的访问——索引:
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。
这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
publicclassArrayDemo { publicstaticvoidmain(String[] args) { int[] arr=newint[3]; //输出数组名System.out.println(arr); //此处输出的是:数组名的地址值[I@880ec60//输出数组中的元素//数组名[索引值]System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); } }
遍历输出数组中的内容:
//普通的遍历的形式publicclassArrayTest01 { publicstaticvoidmain(String[] args) { int[] arr= { 1, 2, 3, 4, 5 }; System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); System.out.println(arr[3]); System.out.println(arr[4]); } } //利用循环进行数组遍历,注意数组下标是从0开始的,所以最大索引值为 数组长度-1//数组的最大长度可以用 数组名.length 获取数组的最大长度publicclassArrayTest01 { publicstaticvoidmain(String[] args) { //定义数组int[] arr= {11, 22, 33, 44, 55}; //使用通用的遍历格式for(intx=0; x<arr.length; x++) { System.out.println(arr[x]); } } }
案例:实现数组中的内容对称:
原数组:{1,2,3,4,5}
对称后:{5,4,3,2,1}
注:中间的数不变,下标为0的位置与下标为length-1位置的数值进行互换;
下标为1的位置与下标为length-2位置的数值进行互换...
publicclassDemo{ publicstaticvoidmain(String[] args) { int[] arr= {1,2,3,4,5}; for(intx=0;x<arr.length/2;x++){ inttemp=arr[x]; arr[x] =arr[arr.length-1-x]; arr[arr.length-1-x] =temp; } //输出反转后的数组for(intx=0;x<arr.length;x++){ if(x==arr.length-1){ System.out.println(arr[x]); }else{ System.out.print(arr[x]+","); } } } }
二维数组
二维数组其实就是这个二维数组中有 多少个 一维数组。
格式一:
数据类型[][] 变量名 = new 数据类型[m][n];
m表示这个二维数组有多少个一维数组
n表示每一个一维数组的元素个数
格式二:
数据类型[][] 变量名 = new 数据类型[m][];
m表示这个二维数组有多少个一维数组
这一次没有直接给出一维数组的元素个数,可以动态的给出
格式三:
标准版:
数据类型[][] 变量名 = new 数据类型[][]{{元素…},{元素…},{元素…}};
简化版:
数据类型[][] 变量名 = {{元素…},{元素…},{元素…}};
例子:
简化版:int[][] arr = { {1,2,3} , {4,5} , {6} };
遍历二维数组:
publicclassArrayCase { publicstaticvoidmain(String[] args) { // 定义二维数组int[][] arr= {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}}; //遍历第一个一维数组for(intx=0; x<arr[0].length; x++){ System.out.println(arr[0][x]); } System.out.println("====================="); //遍历第二个一维数组for(intx=0; x<arr[1].length; x++){ System.out.println(arr[1][x]); } System.out.println("====================="); //遍历第三个一维数组for(intx=0; x<arr[2].length; x++){ System.out.println(arr[2][x]); } System.out.println("====================="); //用户循环改进yfor (inty=0; y<arr.length ; y++) { for(intx=0; x<arr[y].length; x++){ System.out.println(arr[y][x]); } System.out.println(); } } }