1、要開始用Java編寫程序,先設定你的工作環境。許多程序員使用集成開發環境(Integrated Development Environment,IDE)進行Java編程,比如Eclipse和NetBeans。但是不必使用臃腫的IDE,也可以編寫Java程序並編譯它。
2、任何一種類似記事本的程序都能夠用於Java編程。進階程序員有時更喜歡使用終端內的文字編輯器,如Vim和Emacs。我們推薦一個可以安裝在基於Windows和Linux系統(Mac、Ubuntu等)的文字編輯器:SublimeText。我們將在本教程中使用它。
3、確保安裝了Java軟件開發工具包。你要用它來編譯程序。在基於Windows的操作系統中,如果環境變量不正確,則可能在執行javac
時出錯。有關JDK安裝的詳細資訊,可以參閱如何安裝Java軟件開發工具包,以避免此錯誤。
1、我們將首先創建一個能打印"Hello World"的程序。在文字編輯器中,創建一個新檔案,並將其另存爲"HelloWorld.java"。HelloWorld是類名,你需要讓類名與檔案同名。
2、聲明類和main方法。main方法 public static void main(String[] args)
是程序執行時執行的方法。這個main方法在每個Java程序中都以相同方式調用。
public class HelloWorld { public static void main(String[] args) { }}
3、編寫將打印出"Hello World"的代碼行。
System.out.println("Hello World.");讓我們看看這一行的組成成分:
System
告訴系統執行某些操作。out
告訴系統我們要輸出一些內容。
println
?代表"打印行(print line)",我們用它告訴系統在輸出中打印一行文字。
("Hello World.")
周圍的圓括號表示方法 System.out.println()
接受一個參數。在本例中,該參數是字元串"Hello World."
注意,Java中有一些我們必須遵守的規則:必須始終在每行末尾添加分號。
Java區分大小寫,因此必須以正確的大小寫寫入方法名、變量名和類名,否則將出現錯誤。
某個方法或循環的特定代碼塊包含在花括號中。
4、把這些都放在一起。最後Hello World程序應如下所示:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World."); }}
5、儲存檔案,並開啟命令提示符或終端來編譯程序。開啟儲存HelloWorld.java的檔案夾,並鍵入javac HelloWorld.java
。這告訴Java編譯器你想要編譯HelloWorld.java。如果有錯誤,編譯器會告訴你做錯了什麼。否則,你不應該看到來自編譯器的任何消息。如果現在檢視helloworld.java所在的目錄,應該會看到helloworld.class。這是Java用來執行程序的檔案。
6、執行程序。我們終於可以執行我們的程序了! 在命令提示符或終端中,鍵入java HelloWorld
。這是在告訴Java你想執行HelloWorld類。你應該看到控制檯出現 "Hello World"。
7、恭喜,你完成了第一個Java程序!
1、我們現在將擴展我們的Hello World程序,以接受用戶的輸入。在我們的Hello World程序中,我們打印出一個字元串供用戶檢視,但是隻有當程序能夠接收用戶輸入資訊,才能稱之爲程序的交互功能。我們現在將擴展程序,提示用戶輸入他或她的名字,然後用名字問候用戶。
2、匯入Scanner(掃描儀,由於編程時使用Scanner,故下文用Scanner)類。在Java中,我們有一些可以訪問的內置庫,但是我們必須匯入它們。其中一個庫是java.util,它包含我們獲取用戶輸入所需的Scanner對象。爲了匯入Scanner類,我們在代碼的開頭添加了以下行。
import java.util.Scanner;這告訴程序我們想使用java.util包中的Scanner對象。
如果希望訪問java.util包中的每個對象,只需在代碼的開頭編寫import java.util.*;
即可。
3、在main方法中,創建Scanner對象的一個新實例(instance)。Java是一種面向對象的編程語言,因此它使用對象來表示概念。Scanner對象是含有字段和方法的對象。爲了使用Scanner類,我們必須創建一個新的Scanner對象、它可以填充的字段和使用的方法。示例如下:
Scanner userInputScanner = new Scanner(System.in);
userInputScanner
是剛剛創建的Scanner對象實例的名稱。注意名稱是用駱駝體(每個單詞首字母大寫)寫的,這是Java中變量命名的規定。我們使用 new
運算符創建對象的新實例。因此在本例中,我們透過 new Scanner(System.in)
,創建了Scanner對象的新實例。
Scanner對象接受一個參數,該參數告訴對象要掃描什麼。在本例中,我們輸入System.in
作爲參數。System.in
告訴程序掃描來自系統的輸入,這是用戶將在程序中鍵入的輸入。
4、提示用戶輸入。我們必須提示用戶輸入,以便用戶知道何時在控制檯中鍵入內容。這可以透過System.out.print
或System.out.println
實現。
System.out.print("What's your name? ");
5、要求Scanner對象接受用戶鍵入的下一行,並將其存儲在變量中。Scanner將始終接收用戶鍵入的數據。下面的行將要求Scanner接受用戶鍵入的姓名,並將其存儲在變量中:
String userInputName = userInputScanner.nextLine();在Java中,使用對象方法的規定是
objectName.methodName(parameters)
。在userInputScanner.nextLine()
中,我們使用剛纔給出的名稱調用Scanner對象,然後調用它的方法nextLine()
,該方法不接受任何參數。注意,接下來程序將把下一行存儲在一個"字元串"對象中。我們已將字元串對象命名爲userInputName
6、向用戶顯示問候語。現在我們已經存儲了用戶名,我們可以打印一個問候語給用戶。還記得我們在main類中編寫的 System.out.println("Hello World.");
嗎? 我們剛剛編寫的所有代碼都應該放在這一行上面。現在我們可以修改這一行,如:
System.out.println("Hello " + userInputName + "!");我們把"hello"、用戶名和"!" 透過編寫
"Hello " + userInputName + "!"
連起來的方式,稱爲字元串串聯。這裏我們有三個字元串:"Hello "、userInputName和"!"。Java中的字元串是不可更改的。因此,當我們連接這三個字元串時,我們實際上創建了一個包含問候語的新字元串。
然後將這個新字元串作爲參數輸入System.out.println
。
7、一起儲存以上代碼。我們的代碼現在應該如下所示:
import java.util.Scanner;public class HelloWorld { public static void main(String[] args) { Scanner userInputScanner = new Scanner(System.in); System.out.print("What's your name? "); String userInputName = userInputScanner.nextLine(); System.out.println("Hello " + userInputName + "!"); }}
8、編譯並執行。進入命令提示符或終端,並執行與我們在第一次迭代HelloWorld.java時執行的命令。我們必須首先編譯程序:javac helloworld.java
。然後我們可以執行它:java HelloWorld
。
面向對象編程有許多特徵。其中三個主要特徵是:封裝:限制訪問對象某些組件的能力。Java爲字段和方法提供私有(private)、受保護(protected)和公共(public)三種修飾符。
多態:對象可以轉換標識。在Java中,可以將一個對象轉換爲另一個對象,以使用另一個對象的方法。
繼承:使用與當前對象位於同一層次結構中的另一個類的字段和方法的能力。