《21天學通Java(第7版)》——VC程序員的學習筆記2

第2章 Java編程基礎

       這一章節的內容基本上與C是相同的,故只列出幾許差異和個人認爲需要注意的點。

2.1 語句與表達式

       同VC,C語言的程序員可以略過該節。

2.2 變量和數據類型

       1、有3 種變量:實例變量、類變量和局部變量。實例變量用於定義對象的屬性。類變量定義類的屬性,適用於類的所有實例。局部變量用於方法定義乃至方法中更小的語句塊中。僅當Java 虛擬機執行這些方法或語句塊時,它們才被使用,離開方法或塊之後,它們將不復存在。(局部變量在失效後將被自動回收,不能再使用,與C不同。例如:

       forint i=0;i<10;i++

       {

              ……

       }

       System.out.println("i = "+i);             //Java,編譯出錯,變量i找不到符號

       TRACE(_T("i = %d", i);               //VS2008,編譯通過,i = 0

       2、良好的習慣是給所有局部變量指定初始值。默認情況下,實例變量和類變量的初始值取決於其數據類型。

              數值變量:0。

              字符變量:"\0"。

              布爾變量:false。

              對象:null。

       3、Java 語言使用Unicode 字符集,有Unicode 字符號的重音字符和其他符號也可用於變量名中。

       4、變量通常被賦予一個有意義的,由多個單詞組合而成的名稱。爲方便辨識,可使用下述通用規則:

              變量名的第一個字母小寫;

              變量名中其他單詞的第一個字母大寫;

              其他字母都小寫。

       5、雖然在變量名中可以使用下劃線,但除非在如下情況下,否則不應使用它:整個變量名都是大寫時,使用下劃線將各個單詞分開。

       6、雖然在變量名中可以使用美元符號,但在任何情況下都不應這樣做。Java 官方文檔建議不要使用它,因此程序員都遵循這種約定。

       7、Java 提供了8 種基本數據類型,用於存儲整數、浮點數、字符和布爾值。它們通常被稱爲簡單類型(primitive type)。不管在什麼操作系統和平臺上,這些數據類型的長度和特徵都相同,這與其他編程語言的某些數據類型不同。

       8、所有類型都是有符號的,給變量指定哪種類型取決於需要存儲的值的範圍。所有這些整型變量都不能正確存儲超出其取值範圍的值,所以在指定類型時一定要小心。(C中變量類型還有無符號型

       9、boolean類型,其取值爲true 或false。(C中布爾類型可以是truefalse,也可以是0或非0的數字,java中不能用0或非0

       10、所有這些變量類型名都是小寫的,在程序中必須這樣使用它們。存在與這些數據類型名稱相同,但大小寫不同的類,如Boolean 和Double。

       11、類型void, 表示“空”(nothing),用於指出方法不返回任何值。

       12、在Java 中,可以創建各種類型的常量:實例常量、類常量和局部常量。

       13、要聲明常量,可在變量聲明前加上關鍵字final,並指定初始值。(C中使用關鍵字const

       14、常量名都爲大寫。Java 程序員都這樣做,以表明這是常量而不是變量;雖然Java 並未要求常量名必須大寫,但最好遵循這種做法。

       15、常量名由多個單詞組成時,將整個常量名都大寫將導致各個單詞難以區分,應使用下劃線將各個單詞分開。

2.3 註釋

       Javadoc 註釋以/**打頭,*/以結束。這些分界符之間的內容都被視爲用於描述類及其方法的官

方文檔。Javadoc 註釋可被諸如javadoc(JDK 中的一個命令行工具)等實用程序讀取。javadoc 使用這種註釋可創建一組網頁,用於說明Java 類的功能、指出Java 類在繼承層次結構中的位置、描述其每個方法。(其他註釋方法“//”、“/*....*/”與C相同

2.4 字面量

       除變量外,還可以在Java 語句中使用字面量。字面量可以是任何直接表示一個值的數字、文本或其他信息。(其實就是等號右邊的常量值

       1、一個int 類型的整型字面量,可將其賦給byte 或short類型的變量,因爲它足夠小,在這些整數類型的取值範圍內。

       2、位於int 取值範圍之外的整型字面量將被視爲long 類型。也可以再數字後面加L或l表示該值爲long型,如4L。(C中如果字面量大於變量類型的取值範圍,將表現爲溢出

       3、對於很大的整型字面量,爲提高其可讀性,可在其中添加下劃線。這種下劃線的作用與表示千分位的逗號相同,旨在讓數字更易讀。(C中無此表示法

       4、所有的浮點數字面量都被視爲double 類型,而不是float 類型。要將字面量的類型指定爲float,可加上字母F(或f)。在浮點數字面量中,可以使用指數表示法,即使用字母e(或E),而指數可以是負數。

       5、二進制字面量以0b 打頭,八進制字面量以0 打頭,十六迚制字面量以0x打頭。(C中沒有二進制的規定,八進制和十六進制相同

       6、布爾值true 和false 也是字面量。boolean 變量的取值只能是true 或false。

       7、字符字面量是用單引號括起的單個字符,。Java 使用16 位的Unicode 標準,除ASCII 字符外,還支持其他數以千計的字符。有些字符字面量表示的是非打印字符或不能通過鍵盤輸入的字符。

       8、以下轉義字符與C不同,字母d 表示一個數字或十六迚制數字(a~f或A~F)。

轉義符

含義

\d

八進制

\xd

十六進制

\ud

Unicode字符

       9、Java 中的字符串是一種對象,而不是一種基本數據類型String。同時,不像C 語言那樣,字符串被存儲在數組中。字符串字面量是用雙引號括起的一系列字符,字符串中可以包含轉義字符。(類似於VC中的CString

       10、在支持Unicode 的系統上,Unicode 編碼序列\u2122 將生成一個TM符號。

       11、雖然Java 支持對Unicode 字符的傳輸,但要在程序運行時顯示這些字符,計算機也必須支持Unicode。Unicode 提供了一種對字符進行編碼的方式,可用於支持該標準的系統。Java 支持任何Unicode 字符的顯示,只要該字符能夠被主機的某種字體表示出來。

2.5 表達式和運算符

       1、&和&&之間的差別在於對組合表達式所做的工作量。如果使用&,則不管什麼情況下,&兩邊的表達式都將被計算;如果使用&&,則當左邊的表達式爲false 時,將不計算右邊的表達式。因此,&&的效率更高,因爲它不做不必要的工作。&優先級高於&&。

       2、||和|之間,||的效率更高,左邊爲true時就不再計算右邊的值。|優先級高於||。

       3、instanceof 運算符返回true 或false 值,這取決於該對象是否屬於指定的類或其子類的一個實例。優先級同(++ −− ! ~)。

       4、運算符+拼接多個字符串。如果拼接運算的任何一個部分是String 或String 字面量,則其他所有元素都將被作爲字符串進行處理:

              System.out.println(4 + " score and " + 7 + " years ago");

       這將產生文本輸出4 score and 7 years ago,就像整數字面量4 和7 是字符串一樣。(這點和C不同

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章