《java 核心技術卷 Ι 基礎知識(第九版)》學習筆記
第三章 Java的基本程式設計結構
1 第一個應用程式
public class FirstTest{ public static void main(String[] args){ System.out.println("Hello,World!"); }}
這就是java應用程式的基本機構。java對大小寫敏感,如果出現了大小寫拼字錯誤(如:main寫成Main),程式可能無法運行。
上述代碼中,先關鍵字public稱為存取修飾詞,用於控製程序的其他部分對這段代碼的存取層級,存取權限。
關鍵字class表明java程式中的全部內容都包含在類中。
關鍵字class後面緊跟類名。類名的規則:必須以字母開頭,後面可以跟字母和數字任意組合,長度沒有限制,不能使用關鍵字和保留字作為類名。
從類名FirstTest看,標準類名命名規範為:類名以大寫字母開頭,如果由多個單片語成,每個單詞的第一個字母大寫,其他是小寫。
代碼的檔案名稱與public類類名相同,並且以.java為副檔名,也就是說上述代碼對應的檔案名稱為FirstTest.java。
java編譯器對該代碼進行編譯(javac FirstTest.java),會在同一個目錄下產生同名不同副檔名的位元組碼檔案(FirstTest.class),然後命令後輸入java FirstTest 程式執行後,控制台會輸出Hello,World。
main()方法為程式執行的入口,必須是public static的。
在main方法中,使用了System.out對象並調用了它的println方法。注意,(.)點號用於調用方法成員變數。調用方法:object.method();
方法不管有無參數都需在方法名後面加上括弧()。
System.out.println("hello");輸出hello後換行。
System.out.print("hello");輸出hello後不換行。後面輸出緊跟在o字母之後。
2 注釋
三種注釋
① 單行注釋 // 注釋內容從//到本行最後
②多行注釋 /* */ /* */之間的所有字元會被編譯器忽略
③文檔注釋 /** */ 在/** */之間的所有字元會被編譯器忽略,java特有的(用於產生文檔);
多行注釋和文檔注釋不能嵌套使用。
3 資料類型
java資料類型分為基礎資料型別 (Elementary Data Type)和引用資料類型。基礎資料型別 (Elementary Data Type)有8種,分別是4種整型、2種浮點型、1種布爾型和一種字元型。
3.1 整型
整型包括四種,從小到大分別是byte、short、int、long。它們表示沒有小數部分的數值,允許是負數。
1、byte:byte型(位元組型)資料在記憶體中佔用1個位元組,表示的儲存資料範圍為:-128~127。
2、short:short型(短整型)資料在記憶體中佔用2個位元組。很少使用,它限制資料的儲存為先高位元組,後低位元組,這樣在某些機器中會出錯。
3、int:int型(整型)資料在記憶體中佔用4個位元組。最常用的整型。它所表示的資料範圍足夠大,而且適合於32位、64位處理器。但對於大型計算,常會遇到很大的整數,超出int類型所表示的範圍,這時要使用long類型。
4、long:long型(長整型)資料在記憶體中佔用8個位元組。long型資料末尾要加L或l。
十進位整數,如123,-123,11。
八進位整數,以0開頭,如023表示十進位數19,-0111表示十進位數-81。
十六進位整數,以0x或0X開頭,如0x123表示十進位數291,-0X12表示十進位數-18。
從java7開始,可以使用位元,加上首碼0b,如0b101就是5。
同時,java7開始,可以為數字加底線,並不影響數值只是為了讓人更容易讀。如1_000_000表示一百萬。
3.2 浮點型
浮點型用於表示沒有小數部分的數值。兩種浮點型:float(單精確度浮點型)和double(雙精確度浮點型)。
float:4位元組,32位。float型數需加上尾碼F或f,它運行速度相比double更快,占記憶體更小,但是當數值非常大或者非常小的時候會變得不精確。精度要求不高的時候可以使用float類型。
double:8位元組,64位。沒有尾碼f或F的浮點型數預設就是double類型,double型數也可以加尾碼d或D。它的精度是float類型的兩倍,絕大部分應用程式都採用double類型。
3.3 char類型
char類型:2位元組,用於表示單個字元。通常用來表示字元常量。如:'A'是編碼為65對應的字元常量,而"A"是一個內容為A的字串。
Java使用Unicode字元集表示字元,Unicode是完全國際化的字元集,可以表示全部人類語言中的字元。Unicode需要16位寬,所以Java中的char類型也使用16 bit表示。 賦值是這樣的:char ch1 = 23; char ch2 = 'A';
3.4 boolean類型
boolean(布爾)類型有兩個值:false和true,用來判定邏輯條件。不能與整型值不能進行相互轉換。
注意:在C和C++中,數值可以代替boolean值。0相當於布爾值false,非0相當於true。java中不可以這樣。