细节请注意对于float类型当在代码中直接赋值时需要添加f或F后缀来表示float类型对于long类型当在代码中直接赋值时需要添加l或L后缀来表示long类型在数组初始化时如果你写的数字在int类型的范围内Java会自动将它们视为int类型除非你明确地使用后缀对于double类型则不需要后缀因为 Java 默认将不带后缀的小数视为double类型。1. byte 数组byte[]byteArray{1,2,3,4,5};// 声明并初始化// 使用new创建一个指定长度的数组然后通过索引来为每个元素赋值byte[]byteArray2newbyte[5];byteArray2[0]1;byteArray2[1]2;// ... 以此类推为其他元素赋值2. short 数组short[]shortArray{10,20,30,40,50};// 声明并初始化short[]shortArray2newshort[5];shortArray2[0]10;shortArray2[1]20;// ... 以此类推为其他元素赋值3. int 数组int[]intArray{100,200,300,400,500};// 声明并初始化int[]intArray2newint[5];intArray2[0]100;intArray2[1]200;// ... 以此类推为其他元素赋值4. long 数组long[]longArray{1000L,2000L,3000L,4000L,5000L};// 声明并初始化注意L后缀long[]longArray2newlong[5];longArray2[0]1000L;longArray2[1]2000L;// ... 以此类推为其他元素赋值5. float 数组float[]floatArray{1.1f,2.2f,3.3f,4.4f,5.5f};// 声明并初始化注意f后缀float[]floatArray2newfloat[5];floatArray2[0]1.1f;floatArray2[1]2.2f;// ... 以此类推为其他元素赋值6. double 数组double[]doubleArray{1.11,2.22,3.33,4.44,5.55};// 声明并初始化double[]doubleArray2newdouble[5];doubleArray2[0]1.11;doubleArray2[1]2.22;// ... 以此类推为其他元素赋值7. boolean 数组boolean[]booleanArray{true,false,true,false,true};// 声明并初始化boolean[]booleanArray2newboolean[5];booleanArray2[0]true;booleanArray2[1]false;// ... 以此类推为其他元素赋值8. char 数组char[]charArray{a,b,c,d,e};// 声明并初始化char[]charArray2newchar[5];charArray2[0]a;charArray2[1]b;// ... 以此类推为其他元素赋值9. String 数组1、String[]stringArray{apple,banana,cherry,date,elderberry};// 声明并初始化2、String[]stringArray2newString[5];stringArray2[0]fig;stringArray2[1]grape;stringArray2[2]honeydew;stringArray2[3]indian plum;stringArray2[4]jackfruit;// ... 以此类推为其他元素赋值3、intlength10;// 可以根据需要改变这个值String[]stringArray3newString[length];// 然后你可以像之前那样为数组的每个元素赋值for(inti0;ilength;i){stringArray3[i]Fruit(i1);// 假设我们为每个元素赋一个基于索引的值}Java 原生数组如int[]是固定长度的内存结构创建后长度无法改变。因此四类操作的支持情况不同改、查原生直接支持通过数组下标索引从 0 开始操作增、删没有原生方法必须通过「创建新数组 拷贝元素」的方式模拟实现一、查读取元素1. 按索引读取单个元素语法数组名[索引]索引从 0 开始计数int[]intArray{100,200,300,400,500};// 读取第1个元素对应索引0intfirstintArray[0];System.out.println(first);// 输出 100// 读取第3个元素对应索引2intthirdintArray[2];System.out.println(third);// 输出 3002. 遍历查看所有元素importjava.util.Arrays;int[]intArray{100,200,300,400,500};方式1普通for循环可同时拿到索引和元素for(inti0;iintArray.length;i){System.out.println(索引iintArray[i]);}方式2增强for循环只读取元素写法更简洁for(intnum:intArray){System.out.println(num);}方式3快速打印整个数组调试最常用System.out.println(Arrays.toString(intArray));// 输出[100, 200, 300, 400, 500]二、改修改元素语法数组名[索引] 新值直接覆盖对应位置的原值int[]intArray{100,200,300,400,500};// 修改索引1的元素第二个元素为 2024intArray[1]2024;System.out.println(Arrays.toString(intArray));// 输出[100, 2024, 300, 400, 500]三、增添加元素数组长度不可变添加元素的核心逻辑是创建一个长度 原长度 1的新数组把原数组元素拷贝到新数组在对应位置放入新元素1. 尾部添加最常用用Arrays.copyOf快速扩容并拷贝int[]intArray{100,200,300,400,500};// 1. 扩容创建长度1的新数组自动拷贝原数组所有元素int[]newArrayArrays.copyOf(intArray,intArray.length1);// 2. 在尾部空位添加新元素 600newArray[newArray.length-1]600;System.out.println(Arrays.toString(newArray));// 输出[100, 200, 300, 400, 500, 600]2. 指定位置插入用System.arraycopy分段拷贝灵活控制插入位置int[]intArray{100,200,300,400,500};intinsertIndex2;// 要插入的目标位置intinsertValue250;// 要插入的元素// 1. 创建长度1的新数组int[]newArraynewint[intArray.length1];// 2. 拷贝插入位置之前的元素System.arraycopy(intArray,0,newArray,0,insertIndex);// 3. 放入新元素newArray[insertIndex]insertValue;// 4. 拷贝插入位置之后的元素整体往后挪一位System.arraycopy(intArray,insertIndex,newArray,insertIndex1,intArray.length-insertIndex);System.out.println(Arrays.toString(newArray));// 输出[100, 200, 250, 300, 400, 500]四、删删除元素和添加逻辑相反创建长度 原长度 - 1的新数组跳过要删除的元素拷贝剩余部分。示例删除索引 2 对应的元素300int[]intArray{100,200,300,400,500};intdeleteIndex2;// 要删除的元素索引// 1. 创建长度-1的新数组int[]newArraynewint[intArray.length-1];// 2. 拷贝删除位置之前的元素System.arraycopy(intArray,0,newArray,0,deleteIndex);// 3. 拷贝删除位置之后的元素整体往前挪一位System.arraycopy(intArray,deleteIndex1,newArray,deleteIndex,intArray.length-deleteIndex-1);System.out.println(Arrays.toString(newArray));// 输出[100, 200, 400, 500]总结对比操作原生支持实现方式查是数组[索引]直接读取改是数组[索引] 新值直接赋值增否创建更长的新数组 元素拷贝删否创建更短的新数组 元素拷贝如果业务中需要频繁增删元素更推荐使用ArrayList它内部会自动完成数组扩容和元素拷贝无需手动处理。需要我补一份 ArrayList 版本的增删改查对照示例吗