Java:数组的赋值实际上是引用

 1 public class ArrayOfPrimitives {
 2
 3     public static void main(String[]args){
 4         int[]a1={1,2,3,4,5};
 5         int[]a2;
 6         a2=a1;
 7
 8         for(int i=0;i<a1.length;i++)
 9             a2[i]+=1;
10         for(int i=0;i<a1.length;i++)
11             System.out.println(a1[i]);
12     }
13 }

输出

2
3
4
5
6
时间: 2024-11-10 20:40:44

Java:数组的赋值实际上是引用的相关文章

Java千百问_06数据结构(015)_数组和普通对象的引用变量有什么区别

点击进入_更多_Java千百问 1.数组和普通对象的引用变量有什么区别 了解什么是数组看这里:java中的数组是什么 对于java的数组来说,只有类型兼容(即属于同一数据类型体系且遵守优先级由低到高原则),才能将数组引用传递给另一数组引用,但仍然不能改变数组长度(仅仅只是调整数组引用指针的指向). 了解数组传递看这里:数组如何传递 public class TestArrayLength { public static void main(String[] args) { int[] numbe

Java数组赋值

String [] word = {"hello", "world", "java"}; String [] dest = new String[3]; dest = words; words[0] = "nihao"; for(String t: dest){ System.out.println(t); } String [] dest2 = {"12","23","34&

求学生平均成绩(数组录入赋值)Value.java

import java.util.Scanner;public class Value{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请定义学生的人数"); int num=in.nextInt(); int[] arr=new int[num]; System.out.println(arr.length); int sum=0; for(

[C++程序设计]字符数组的赋值与引用

只能对字符数组的元素赋值,而不能用赋值语句对整个数组赋值. char c[5]; c={′C′,′h′,′i′,′n′,′a′}; //错误,不能对整个数组一次赋值 c[0]=′C′; c[1]=′h′;c[2]=′i′;c[3]=′n′;c[4]=′a′; //对数组元素赋值,正确 如果已定义了a和b是具有相同类型和长度的数组,且b数组已被初始化,请分析: a=b; //错误,不能对整个数组整体赋值 a[0]=b[0]; //正确,引用数组元素 字符串和字符串结束标志 常量来初始化字符数组.例

给数组赋值时,引用与数组切片的区别

例1:引用赋值 arr = [1, 2, 3, 4, 5, 6, 7] # 初始数组 print(id(arr), arr) arr = arr[1:3] # 类似于 aux = arr[1:3], arr = aux print(id(arr), arr) 运行结果: 4357105608 [1, 2, 3, 4, 5, 6, 7] 4357104200 [2, 3] 其实arr是aux的一个引用,而对于arr[1:3]系统会自动给其分配地址 所以前后arr的地址不一样 例2:数组切片赋值 a

java语法:字符串数组的赋值

字符串数组怎么赋值呢? 首先当然得先定义啦:String infoPack[] : 然后想当然的以为在for循环里,new一个数组, String infoPack[i] = imgurls; 事实证明是不行滴,这样数组里面其实只有一个值,给数组定义的时候规定其长度? eclipse告诉你也是不行滴... 度娘告诉我:如果你要循环放5个值,在定义的时候, String infoPack[] = {"","","","",&qu

java数组的引用

数组属于应用型变量,因此两个相投类型的数组如果具有相同的引用,它们就有完全相同的元素 如: int a[]={1,2,3},b[]={4,5} 如果a=b;则a[]={4,5} public class Example2_4 { public static void main(String args[]) { int a[]={1,2,3,4}; int b[]={100,200,300}; System.out.println("数组a的元素个数="+a.length); Syste

引用类型——Java数组

数组: 一组相关数据的集合,实际上就是一连串的变量,可以分为:一维数组.二维数组.多维数组 默认值为null,暂时还没有任何指向的内存空间 Java中的数组必须先初始化,然后才可以使用. 所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值. 一.数组初始化 1,静态初始化 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定需要的数组长度. 静态初始化语法格式: arrayName=new type[]{element1,element2,element3,e

Java 到底是值传递还是引用传递

作者:Intopass链接:https://www.zhihu.com/question/31203609/answer/50992895来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中.更何况,要想知道Java到底是传值还是传引用,起码你要先知道传值和传引用的准确含义吧?可是如果你已