「java数组赋值训练视频」java如何给数组赋值

博主:adminadmin 2023-01-23 03:27:06 322

本篇文章给大家谈谈java数组赋值训练视频,以及java如何给数组赋值对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 给数组赋值

当用一个数组名直接给另一个数组赋值时,是相当于赋了一个引用,此时,这两个变量是指向同一个对象,也就是说指向同一块内存空间,当你修改其中一个变量的值时,其他那个变量的值也随着改变了。

int [] a=new int[10];

int [] b=a;

for(int i=0;i10;i++){

b[i]=i;

}

此时a和b指向同一个内存空间,所以当打印a,b数组时,他们的结果应该是一样的,尽管没有对a数组进行初始化。当然,数组a和数组b的类型必须是一致的才行啊!

Java中数组类怎样赋值

直接赋值

int array[] = {1,2,3,2,12};

for(int i;iyourArray.length();i++){

//your code

}

java 数组赋值

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

java数组赋值训练视频的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java如何给数组赋值、java数组赋值训练视频的信息别忘了在本站进行查找喔。