java學習過程小問題

一:基本的須要注意點(基礎語句);java

package my; public class hello { public static void main(String[] args) { // TODO Auto-generated method stub // 1.
        String name = "chen"; System.out.println(name); // 2.
        boolean a = 1 > 2; System.out.println(a); boolean b = false; boolean c = true; // 3.
        final int d = 1; // b=2; 錯誤的 至關於c++中的const // 4 類型裝換
        double e = 11.3; int f = (int) e; System.out.println(f); // 隱式轉換和顯示轉換 // 5.語句 // 在函數內以分號結束的一行,稱爲語句statement,注意是在函數中 // 6.數組的應用 // 建立一個數組對象,容納20個int
        int[] arr = new int[20]; arr[0] = 1; arr[1] = 2; // 輸出長度爲20
 System.out.println(arr.length); char ch = 'a'; System.out.println(ch); char[] chh = new char[10]; chh[0] = 'a'; System.out.println(chh); } }

 

 

二:在java中初識對象與引用c++

1. 疑問:數組

① int[] a = { 11, 11, 11, 11 };
② int[] b = a;
③ b[3] = 45;
④ for(int i=0; i<a.length; i++)
{
⑤ System.out.print( a[i] + " ");
}
其中,
第①行,建立了一個數組對象a,
第②行,又定義了另外一個b 對象,
第③行,修改了b[3]。這裏修改的是b,那麼a 的值不變是嗎?
第⑤行,實際輸出的是11 11 11 45,說明對b 的修改會同時影響a
的內容。爲何呢?函數

 

由於:spa

在Java 語言裏,對象(Object)是一個基礎概念。
int[] a = new int[4];
在此式中,等號右側建立了一個數組對象,等號左側的變量a 稱爲該
對象的引用( Reference)。
通常來講,能夠以稱做「變量a 指向了一個對象」,或者簡稱爲「a
是一個對象, 其中a 是對象的名字」指針

 

多個變量能夠指向同一個對象,例如,
int[] a = new int[4];
int[] b = a;
b[3] = 45;
因爲a,b 指向的是一個對象,因此修改b[3],就等同於修改a[3]。
這就比如,「小明」指的是人,「陳明」指的也是人。一個
人能夠有多個名字。code

 

2.空指針null對象

在Java 語言裏,有一種特殊的對象,稱爲「空對象」。例如,
int[] a = null;
其中,a 指向一個空對象,其實就是說a 不指向任何對象。
理解如下幾行代碼:
① int[] a = new int[4];
② int[] b = a;
③ a = null;
其中,
第①行,建立了一個對象,命名爲a
第②行,b 和a 指向同一個對象第blog

第③行,a 指向null。此時,a 不指向任何對象,而b 指向剛纔建立
的對象。class

注意:a不能再當成數組用,要否則就是空指針錯誤

 

3.失去引用對象

觀察如下代碼:
① int[] a = { 8, 8, 8 };
② a = new int[4];
③ a[0] = a[1] = a[2] = a[3] = 17;

第①行,建立了一個數組對象,內容爲{ 8,8,8}
第②行,建立另外一個數組對象, 內容{ 0,0,0,0 }
問題來了,當執行完第②後,曾經建立的第一個對象就沒有任何變量
引用它了,稱爲「失去引用」的對象。

 

注意:第一個對象系統會自動回收銷燬這個對象,此過程稱爲垃圾加收

相關文章
相關標籤/搜索