《java學習筆記》讀書筆記の高級數組操作和“=”操作

在Java中,=運算用於基本數據類型時,是將值複製給變量,但當它用於對象時,則是將對象指定給參考引用名稱來參考引用。

也可以將同一個對象指定給兩個參考引用名稱,當對象的值其中一個參考引用名稱進行操作而變更時,另一個參考引用名稱所參考引用到的值也會變動。

public class AdvancedArray{
public static void main(String[] args){
int[] arr1 = {1,2,3,4,5};
int[] tmp1 = arr1;
int[] tmp2 = arr1;

System.out.print("通過tmp1取出數組值:");
for(int i = 0;i<tmp1.length;i++)
System.out.print(tmp1[i] + " ");

System.out.print("通過tmp2取出數組值:");
for(int i = 0;i<tmp2.length;i++)
System.out.print(tmp2[i] + " ");

tmp1[2] = 9;
System.out.print("\n\n通過tmp1取出數組值:");
for(int i = 0;i<tmp1.length;i++)
System.out.print(tmp1[i] + " ");

System.out.print("\n過tmp2取出數組值:");
for(int i = 0;i<tmp2.length;i++)
System.out.print(tmp2[i] + " ");
}
}





執行結果:
通過tmp1取出數組值:1 2 3 4 5
通過tmp2取出數組值:1 2 3 4 5

通過tmp1取出數組值:1 2 9 4 5
通過tmp2取出數組值:1 2 9 4 5


上例中,通過tmp1名稱改變索引2的元素值,由於tmp2也引用自同一數組對象,所以tmp2取出索引2的元素值是改變後的值。在例子中,arr1,tmp1與tmp2,所以,如果取出arr1索引2的元素,元素值也會是9.
發佈了26 篇原創文章 · 獲贊 0 · 訪問量 722
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章