qianhu微建站,网站举报查询进度,网站建设经验大总结,餐饮公司简介模板数组数组就是用于存储相同数据类型数据的一个容器。可以通过有规律的索引来访问没有规律的元素。一维数组定义格式#xff1a;元素的数据类型[ ] 数组名称 new 元素的数据类型 [ 数组容器大小 ]#xff1b;数组定义格式解释#xff1a;元素#xff1a;数组中的数据元素的数据类型[ ] 数组名称 new 元素的数据类型 [ 数组容器大小 ]数组定义格式解释元素数组中的数据数组中的变量。数据类型数组中的数据的数据类型用来声明当前数组中可以存放什么类型的数据。[ ]表示是一个一维数组数组名称数组本身也是一个变量用于存储数组的地址的变量。所以数组名称要符合标识符规范。赋值符号将数组的地址赋值给数组的名称new新建用于在堆内存中开辟一块空间用来存储数据元素的数据类型和前面的元素的数据类型保持一致数组容器的大小可以存储数据的个数数组长度必须给出用于确定在内存中开辟多大的一块空间。数组初始化的格式1.元素的数据类型[] 数组名称 new 元素的数据类型[数组元素的个数]2.在程序书写的时候就知道了数组中的元素是什么值可以使用这一种元素的数据类型[] 数组名称 new 元素的数据类型[] {元素值的罗列}可以简写为元素的数据类型[] 数组名称 {元素值的罗列}数组的遍历遍历把所有元素都访问一遍。方式通过循环访问到数组中所有元素的索引。通过索引访问到对应元素。索引角标、下标、脚标表示某个元素在数组中的位置。范围0 ~ 数组长度-1。数组长度数组元素的个数可以通过 数组名称.length 获取。代码public static void main(String[] args) {//定义一个数组int[] arr {12, 23, 34, 45, 56};//定义循环获取到数组所有的索引此时i不仅表示循环的控制还表示数组的索引for (int i 0; i arr.length; i) {//定义一个变量接收根据索引获得到的数组中的值并打印出来int x arr[i];System.out.println(x);}}练习1、定义一个方法遍历一个一维数组。思路通过循环访问到数组中所有元素的索引。通过索引访问到对应元素。2、定义一个方法求一个一维数组中的最大值。思路设置一个变量 max作用是先代表数组中的最大值遍历数组让每个元素都和该变量比较如果比最大值变量还要大那么就让当前元素替换掉最大值变量中的数据。3、定义一个方法将一个数组中的数据进行反转。思路第一个变成最后一个第二个变为倒数第二个。(0索引和arr.length-1索引位置对调1索引和arr.length-2索引位置对调....直到数组的最中间的元素停止对调。)代码public static void main(String[] args) {//定义一个数组int[] arr {16,80,33,43,42,57,29};//调用数组遍历方法将数组作为一个实参传递method01(arr);//调用数组数组获取最大值的方法将数组作为一个实参传递method02(arr);//调用数组数组反转的方法将数组作为一个实参传递method03(arr);}//定义一个有参数的数组遍历方法public static void method01(int[] arr) {//循环遍历获取所有的元素for (int i 0; i arr.length; i) {System.out.println(arr[i]);}}//定义一个有参数的数组获取最大值的方法public static void method02(int[] arr) {//先假设数组的0号索引对应的值是最大值将它复制给一个变量int max arr[0];//循环遍历进行比较for (int i 1; i arr.length; i) {//如果当前元素大于假设的最大值if (arr[i] max) {max arr[i];//就让当前元素将假设的最大值替换掉}}//循环结束之后此时max就是数组中的最大值System.out.println(数组最大值为max);}//定义一个有参数的数组反转的方法public static void method03(int[] arr) {//循环遍历比较可以在for循环定义两个变量一个索引从前向后一个索引从后向前for (int i 0, j arr.length - 1; i j; i, j--) {//i和j位置的元素进行交换int temp arr[i];arr[i] arr[j];arr[j] temp;}}二维数组二维数组数组的每个元素恰好又是一个数组。定义方式int[][] arr new int[3][]解释定义一个二维数组名字arr数组中每个元素还是一个数组但是元素对应的数组没有被创建的arr[0] null。注意二维数组的长度一定要给出的[3]代表二维数组长度int[][] arr2 {{}{4}{5,6,7}}解释arr2是一个二维数组里面有3个元素对应三个数组分别是{}{4}{5,6,7}注意int [ ] [ ] arr new int [0] [0]这样定义回抛出异常因为arr[0]索引上的元素为{}是一个没有任何元素的数组获取没有元素的数组的指定索引会抛出数组索引越界异常 ArrayIndexOutOfBoundsException。数组的注意事项1.在对数组进行操作时先控制其值不为null然后再判断数组的长度以免发生空指针异常。如果 int [ ] a null那么针对于数组的所有操作都将抛出空指针异常。2.其实如果不判断数组的长度不为0就进行数组的循环遍历for循环是可以控制住不报错的但是最好将判断数组长度不为0写上这样比较严谨。3.int [ ] a null在内存中不开辟空间。int [ ] a { }在内存中开辟空间只不过数组中没有元素。二维数组遍历代码public static void main(String[] args) {//定义一个二维数组int[][] arr2 { {}, { 4 }, { 5, 6, 7 } };// 首先,先判断二维数组不能为null并且数组的长度不为0if (arr2 ! null arr2.length ! 0) {//利用for循环遍历二维数组的每一个元素for (int i 0; i arr2.length; i) {//二维数组的每一个元素又是一个数组所以还需要判断数组不能为null并且数组的长度不为0if (arr2[i] ! null arr2[i].length ! 0) {//利用for循环遍历二维数组的每一个一维数组中的元素for (int j 0; j arr2[i].length; j) {int z arr2[i][j];//在一行输出每个一维数组中的元素用分隔System.out.print(z,);}//每输出完一个一维数组换行System.out.println();} else {System.out.println(一维数组不能为null并且数组长度不能为0);}}}else {System.out.println(二维数组不能为null并且数组长度不能为0);}}练习分析以下需求并用代码实现(1)定义一个int类型的一维数组内容为{6,2,9,15,1,5,20,7,18}(2)将数组最大元素与最后一位元素进行交换,最小元素与第一位元素进行交换并打印数组最后效果{1,2,9,15,6,5,18,7,20}提示思路先查找最大值和最小值出现的索引。代码实现public static void main(String[] args) {int[] arr {6,2,9,15,1,5,20,7,18};//{1,2,9,15,6,5,18,7,20}//判断数组不能为null并且数组长度不能为0if(arr ! nullarr.length ! 0){//判断数组中的元素个数是否为1如果只有一个数直接输出if(arr.length 1){System.out.println(arr[0]);//判断数组中元素个数是否为2如果有两个判断大小最后输出结果}else if(arr.length 2){if(arr[0]arr[1]){int temp arr[0];arr[0] arr[1];arr[1] temp;}for(int i 0;iSystem.out.print(arr[i],);}//判断数组中的数据个数是否为2个以上}else if(arr.length 2){//定义几个变量假设是最小值最大值,最小值的索引最大值的索引int min arr[0];int max arr[arr.length-1];int minIndex 0;int maxIndex arr.length-1;//使用for循环进行遍历for(int i 0;i//找到最小值和最小值的索引if(arr[i]minIndex i;min arr[i];}//找到最大值和最大值的索引if(arr[i]max){maxIndex i;max arr[i];}}//将最小值和第一个数替换int tempMin arr[minIndex];arr[minIndex] arr[0];arr[0] tempMin;//将最大值和最后一个数替换int tempMax arr[maxIndex];arr[maxIndex] arr[arr.length-1];arr[arr.length-1] tempMax;//for循环遍历输出最后结果for(int i 0;iSystem.out.print(arr[i],);}}}else{System.out.println(数组不能为null并且数组长度不能为0);}}