如題,代碼如下: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 回答
已采納

計量趙子龍
TA貢獻9條經驗 獲得超14個贊
a2 = a1;該語句實則是把a1的地址給了a2,所以給a2賦值相當于對a1也操作了;java中取消了指針的概念,但是在內存中歸根結底,兩個數組的地址相同了。如果你想賦值單數還不改變量的話,可以創建一個臨時數組。如有疑問可追問,如滿意望采納,謝謝。

一條小咸魚
TA貢獻457條經驗 獲得超255個贊
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)); ????} }
添加回答
舉報
0/150
提交
取消