如題,代碼如下:package hello;public class haha{?public static void main(String args[]){ int[] a1 = { 1, 2, 3, 4, 5 }; ? int[] a2; ? ? ? ? a2 = a1; ? ? ?? for(int i = 0; i < a2.length; i++) ? a2[i]++; for(int i = 0; i < a1.length; i++) ? ? ? ?? System.out.println( "a1[" + i + "] = " + a1[i]);? ? ? }}輸出a1[0] = 2a1[1] = 3a1[2] = 4a1[3] = 5a1[4] = 6
4 回答
已采納

計(jì)量趙子龍
TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超14個(gè)贊
a2 = a1;該語(yǔ)句實(shí)則是把a(bǔ)1的地址給了a2,所以給a2賦值相當(dāng)于對(duì)a1也操作了;java中取消了指針的概念,但是在內(nèi)存中歸根結(jié)底,兩個(gè)數(shù)組的地址相同了。如果你想賦值單數(shù)還不改變量的話,可以創(chuàng)建一個(gè)臨時(shí)數(shù)組。如有疑問可追問,如滿意望采納,謝謝。

相忘于江湖494
TA貢獻(xiàn)19條經(jīng)驗(yàn) 獲得超10個(gè)贊
打個(gè)比方數(shù)值就是蘋果,你只是把蘋果地址給了B,而不是給B有創(chuàng)造了蘋果,所以只要蘋果動(dòng)了,所以A和B都會(huì)改變

一條小咸魚
TA貢獻(xiàn)457條經(jīng)驗(yàn) 獲得超255個(gè)贊
import?java.util.Arrays; public?class?HelloWorld?{ ????public?static?void?main(String[]?args)?{ ????????int[]?arry1?=?{?1,?2,?3?}; ????????int[]?arry2?=?arry1.clone(); ????????arry2[2]?=?1; ????????System.out.println(Arrays.toString(arry1)); ????????System.out.println(Arrays.toString(arry2)); ????} }
添加回答
舉報(bào)
0/150
提交
取消