java中,数组可以怎么赋值,几种赋值方法

Python017

java中,数组可以怎么赋值,几种赋值方法,第1张

public class TempArray {

public static void main(String[] args) {

//声明数值型数组

int[] array  = {1, 2}

int[] array2 = new int[4]

//新增一个数组长度

array = Arrays.copyOf(array, array.length+1)

//将3这个数值赋值个数组索引 2 的位置,也就是最后面追加

array[array.length-1] = 3

System.out.println(array2.length)//Result: 4

上面用的是数组,你也可以用 ArrayList 数组列表,是List的一个实现。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

Java由四方面组成:

1.Java编程语言,即语法。

2.Java文件格式,即各种文件夹、文件的后缀。

3.Java虚拟机(JVM),即处理*.class文件的解释器。

4.Java应用程序接口(Java API)。

Object[] array = new Object[ int size ]/Object array[] = new Object[ int size ]size 是数组大小

eg: String[] str = new String[ 10 ]

str[ 0 ] = "1" str[ 1 ] = "1"

Object[] array = {obj1,obj2,==}/Object array[] = {obj1,obj2,==}

Object[] array = new Object[]{obj1,obj2,==}/Object array[] = new Object[]{obj1,obj2,==}

遍历:

for(int i = 0i <array.lengthi++){

System.out.println( array[ i ] )

}

或者

for(Object obj : array){

System.out.println( obj )

}

int[] b

int[] a ={1,2,3,4}

b=a

答:可以这样对数组进行赋值。

      但是这种方式对数组进行赋值,  实际上是一种浅层复制.

 也就是说,b实际上就是a,它们的内存地址值都是一样的, 当a发生改变,那么b也会跟着改变 。

为了真正意义上实现赋值,那么我们应该对数组进行深层复制。

深层复制后,无论a怎么改变,都不会影响到b。

具体代码如下

package core.com

import java.util.Arrays

public class DemoCopy {

 public static void main(String[] args) {

  //---------浅层复制--------

  int[] a

  int[] b = {1,2,3,4}

  a=b//浅层复制. 当b改变的时候,a会跟着改变

  System.out.println(Arrays.toString(a))//输出数组a,[1,2,3,4]

  b[0] = 5//改变数组b , 数组a也会跟着改变

  System.out.println(Arrays.toString(a))//输出数组a,[5,2,3,4]

  System.out.println(a==b)//输出true  a就是b

  //-----------分割线--------

  //深层复制方法一:

  String[] c 

  String[] d = {"a","b","c"}

  c = new String[d.length] // 需要初始化数组长度

  for (int i = 0 i < d.length i++) {//循环复制,

   c[i] = d[i]

  }

  d[0]="y"//改变数组d, 不会影响c

  System.out.println(Arrays.toString(c))//

  System.out.println(c==d)

  

  //-------------分割线---------

  //深层复制方法二:

  int[] ary1

  int[] ary2 = {8,8,8}

  ary1 = new int[ary2.length]

  System.arraycopy(ary2, 0, ary1, 0, ary2.length)//调用函数进行深层复制

  ary2[0]=6//改变数组ary2,并不会影响ary1

  System.out.println(Arrays.toString(ary1))

  System.out.println(ary1==ary2)

 }

}

控制台输出

[1, 2, 3, 4]

[5, 2, 3, 4]

true

[a, b, c]

false

[8, 8, 8]

false