
正文
java数组代码赋值,java类数组怎么赋值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
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
相关问答
Q1: java中数组赋值的方法是什么?
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)。
Q2: 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的类型必须是一致的才行啊!
Q3: java中 如何给int数组赋值赋一个空值
在Java的赋值语句中不能够给整形的数组赋值成一个空值,Java会给int一维数组赋值为0,但是要想实现空值的类型那么将int数组转换为Integer数组,Integer可以为空, 但int 不能为空。
数组是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。
数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。
扩展资料:
Java的语言特点:
Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。
例如,Java不支持go to语句,代之以提供break和continue语句以及异常处理。
Java还剔除了C++的操作符过载(overload)和多继承特征,并且不使用主文件,免去了预处理程序。因为Java没有结构,数组和串都是对象,所以不需要指针。
Java能够自动处理对象的引用和间接引用,实现自动的无用单元收集,使用户不必为存储管理问题烦恼,能更多的时间和精力花在研发上。
技术应用:
1、Android应用、在金融业应用的服务器程序、、网站、嵌入式领域、、大数据技术、高频交易的空间。
数组的特点:
1、数组是相同数据类型的元素的集合。
2、数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。
参考资料来源:百度百科-Java
参考资料来源:百度百科-数组







