你可能已經迫不及待想安裝Java,寫個Java程序跑起來了。但是在這之前,有些概念需要提前瞭解,因爲Java跟C、C++和Python都有點不一樣。
編譯和執行
我們在文本文件中編寫英文代碼,這些英文計算機是看不懂的,因此需要做一下轉換,轉換爲計算機能識別和運行的格式,這個轉換,是由編譯器來完成的。有些語言沒有編譯器,但是Java是有的。
編譯器轉換後的文件,通常叫做二進制文件,或者可執行文件。文件內容從英文變成了字節碼。字節碼只有計算機能看懂,人是看不懂的,我們也不用關心,只需要保證我們編寫的英文代碼,能正確通過編譯即可。執行的事,就交給計算機來做。
Java代碼文件以.java
結尾,Java可執行文件以.class
結尾。
創建Java類
Java文件裏面的所有代碼,都必須放在Java Class裏面:
public class MyFirstClass {
}
文件名必須叫做MyFirstClass.java
,文件名跟類名必須保持一致。爲什麼Java要設計得這麼嚴格呢?方便,讓你看到文件名,就能知道類名是啥,不用去猜。
安裝JDK
如何編譯類文件呢?下載Java。
下載Java,就是下載JDK,Java Development Kit,裏面包含了Java編譯器,將MyFirstClass.java
編譯爲MyFirstClass.class
。
所謂的JRE,Java Runtime Environment,它是JDK的一部分,只能用來運行Java程序,不能用來編譯。
下載地址: https://jdk.java.net/
安裝後需要根據操作系統(Windows、Linux、macOS)設置環境變量JAVA_HOME和PATH。
驗證安裝成功:
java -version
編譯Class
使用javac
命令編譯:
javac MyFirstClass.java
如果代碼有問題,會出現報錯。如果沒問題,就會生成MyFirstClass.class
文件。
運行HelloWorld
添加代碼:
public class MyFirstClass {
public static void main(String... args) {
System.out.println("Hello, World!");
}
}
重新編譯,確保生成了class文件,使用java
命令運行:
java MyFirstClass
運行成功,控制檯會打印一句:Hello, World!
常見問題
問題1:javac HelloWorldApp,報錯:
Class names, 'HelloWorldApp', are only accepted if annotation processing is explicitly requested
javac HelloWorldApp.java
編譯命令javac後面應該跟文件名。
問題2:java HelloWorldApp.class,報錯:
Could not find or load main class HelloWorldApp.class
java HelloWorldApp
運行命令java後面應該跟類名。
可以命令Help看到區別:
javac Usage: javac <options> <source files>
java Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
在複雜應用開發時,並不會直接使用javac和java命令,而是使用IDE,Integrated Development Environment,集成開發環境,比如Eclipse、NetBeans和IntelliJ IDEA。
參考資料:
Getting Started with Java https://dev.java/learn/getting-started