java怎么给数组赋值:4种常用写法
java怎么给数组赋值分为声明时直接赋值、先创建数组再逐个下标赋值、循环批量赋值、数组拷贝赋值,不同写法适配不同场景,声明赋值适合元素数量固定且已知的场景,下标赋值适合零散修改数组元素,循环赋值适合大批量连续填充,数组拷贝适合从已有数组复制数据,该方法的适用边界是基础一维数组,多维数组赋值逻辑会增加层级,不适合刚接触Java语法的初学者直接上手。
java数组声明同时赋值
你在定义数组变量的同一行直接写入元素,编译器自动识别数组长度,不用手动填写长度数字。语法写法为int[]arr={10,20,30,40};,这是最简写法,只能在数组声明的这一行使用,后续代码不能再用这种大括号简写形式重新赋值。另一种完整写法int[]arr=newint[]{10,20,30,40};,这种写法可以拆分到不同代码行,适合作为方法返回值直接传递数组。
基础类型数组默认有初始值,int默认0,boolean默认false,String引用类型默认null。
java数组下标逐个赋值
先使用new关键字创建指定长度的空数组,再依靠下标索引对每个位置单独赋值,数组下标从0开始,数组长度为n,下标范围就是0到n-1。示例代码int[]arr=newint[4];arr[0]=11;arr[1]=22;,你可以按需修改任意位置元素,适合只修改少数几个数组元素的业务。如果赋值时写的下标大于等于数组长度,会抛出ArrayIndexOutOfBoundsException数组下标越界异常,例如长度为4的数组,访问arr[4]就会触发报错。
java数组循环批量赋值
使用for循环遍历数组下标,批量填充连续数据,适合数组元素多、有规律的场景,比如顺序数字、统一固定值填充。普通for循环可以同时操作下标与元素,代码示例int[]arr=newint[10];for(inti=0;i 把已有数组的数据复制给新数组,不共用同一块内存,修改新数组不会影响原数组。System.arraycopy是原生方法,性能稳定,JDK内置,不需要额外引入包,你需要传入源数组、源起始下标、目标数组、目标起始下标、复制元素个数。Arrays.copyOf会直接创建新数组并完成复制,代码更简短,还可以截取部分元素生成长度不同的新数组。 引用类型数组赋值时,存入的是对象的引用地址,不是对象本身。多个数组下标指向同一个对象时,修改对象属性,所有引用位置都会同步变化,这是Java内存模型带来的特性,不属于程序bug。 数组长度一旦创建完成就不可更改,不能直接追加元素。想要增加数据,只能新建更长数组,再把旧数组的值拷贝过去。 空数组和null数组有区别,newint[0]是长度为0的数组对象,可以调用length属性;int[]arr=null代表没有数组对象,直接操作arr会触发空指针异常。java数组拷贝赋值
赋值方式 适用场景 代码简洁度 性能表现 声明直接赋值 元素固定,写代码时已知全部值 高 较好 下标单独赋值 少量元素修改,元素无规律 低 较好 循环批量赋值 大批量、有规律元素填充 中等 中等 数组拷贝赋值 复用已有数组数据,生成新数组 中等 较高 