小白初学Java打卡Day16
好久没学了重温一下数组内容数组定义方式/*int[] arr; arr new int[]{10,12,45,90}; int[] arr {10,12,45,90}; int[] arr new int[4]; int[] arr; arr new int[4]; */int[] arr{}这个最常用数组插入数字public class Array10 { public static void main(String[] args) { // 原升序数组 int[] arr {10, 12, 45, 90}; //插入 int insertNum 23; //先定位 int index -1; for (int i 0; i arr.length; i) { /*if(insertNum arr[i]){ index i; }break;//这是不对的23大于10和20也不会是1而是3*/ if (insertNum arr[i]) { index i; break; } }//小于它就取代它的位置 if(index -1){ index arr.length; } // 创建扩容后的新数组长度1 int[] arrNew new int[arr.length 1]; //i遍历新数组j遍历旧数组 for(int i 0, j 0; i arrNew.length; i){ if(i ! index){ // 不是插入位置复制旧数组元素 arrNew[i] arr[j]; j;//即使一个i没对上jj也是增加的 }else{ // i等于插入下标放入新数字 arrNew[i] insertNum; } } // 让原数组引用指向新数组 arr arrNew; System.out.println(插入后arr数组的元素情况); for(int i 0; i arr.length; i){ System.out.print(arr[i] \t); } } }随机数组和一些简单运算import java.util.Random; public class Array11 { public static void main(String[] args) { // 1.创建数组长度10 int[] arr new int[10]; Random random new Random(); // 2.随机生成1~100整数存入数组 for (int i 0; i arr.length; i) { arr[i] random.nextInt(100) 1; } // 正向打印数组 System.out.println(数组原始数据); for (int i 0; i arr.length; i) { System.out.print(arr[i] \t); } System.out.println(\n); // 3.倒序打印数组 System.out.println(倒序打印数组); for (int i arr.length - 1; i 0; i--) { System.out.print(arr[i] \t); } System.out.println(\n); // 4.求平均值、最大值、最大值下标 int sum 0; int max arr[0]; int maxIndex 0; boolean hasEight false; for (int i 0; i arr.length; i) { sum arr[i]; // 更新最大值和下标 if (arr[i] max) { max arr[i]; maxIndex i; } // 判断是否包含数字8 if (arr[i] 8) { hasEight true; } } double avg sum / (double) arr.length; System.out.println(数组平均值 avg); System.out.println(最大值 max); System.out.println(最大值下标 maxIndex); if (hasEight) { System.out.println(数组中存在数字8); } else { System.out.println(数组中不存在数字8); } } }引用数据类型数组、String、自定义类变量保存的是堆内存地址不是数组本身。比如char[] arr2 arr1;两个数组指向同一个地址但都是存在的下面就学类与变量了。