Java 数组所有创建方式 不管是基本类型数组int、char、double还是引用类型数组String、自定义类、对象语法规则完全一样一共 4 种写法。以int[]和String[]举例演示。方式 1先分配长度后面赋值动态初始化只开辟数组内存元素给默认值之后再逐个赋值。//基本类型int[]arr1newint[3];arr1[0]10;arr1[1]20;arr1[2]30;//引用类型String[]strArr1newString[2];strArr1[0]aa;strArr1[1]bb;new int[3]数组长度固定 3int 默认值0引用类型默认值null方式 2创建同时直接赋值静态初始化完整写法int[]arr2newint[]{11,22,33};String[]strArr2newString[]{苹果,香蕉};⚠️ 右边new int[]中括号里面不能写长度长度由大括号里面元素个数自动推导。❌new int[3]{1,2,3}编译报错方式 3简写省略 new int []只能声明变量时直接用int[]arr3{100,200,300};String[]strArr3{张三,李四};限制只能在变量定义那一行直接赋值不能拆开写❌错误写法int[]arr;arr{1,2,3};//编译报错这种简写不能分开✅ 如果拆开写必须带上new int[]int[]arr;arrnewint[]{1,2,3};//正确方式 4匿名数组没有变量名直接当参数传递经常用在方法传参不定义变量接收。//方法调用直接传数组test(newint[]{5,6,7});publicstaticvoidtest(int[]arr){}两种书写风格只是写法习惯不是创建新方式int[]arr;//推荐类型是 int[]intarr[];//C语言风格Java允许但不推荐对象数组演示自定义类classUser{}publicclassTest{publicstaticvoidmain(String[]args){//方式1 指定长度User[]users1newUser[2];users1[0]newUser();//方式2User[]users2newUser[]{newUser(),newUser()};//方式3简写User[]users3{newUser(),newUser()};}}重点User[] users1 new User[2];只是创建数组容器里面存的是两个 null对象并没有创建需要手动 new User () 赋值。总结表格方式语法示例特点1 动态初始化int[] a new int[5];指定长度元素是默认值后续手动赋值2 静态完整int[] a new int[]{1,2,3};创建同时赋值可以拆开赋值3 静态简写int[] a {1,2,3};只能定义变量那一行直接写不能拆开4 匿名数组test(new int[]{1,2})没有数组变量直接做方法参数注意new int[3]{1,2,3}报错不能写数字在 [] 里。int[] a; a{1,2};报错简写不能分开。对象数组User[] arr new User[2]数组元素默认是 null不是自动 new 对象。