java的基本程式設計結構(一)
《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資料型別分為基本資料型別和引用資料型別。基本資料型別有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型別
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中不可以這樣。