你可能已經迫不及待想安裝JAVA,寫個Java程序跑起來了。但是在這之前,有些概念需要提前了解,因為Java跟C、C++和Python/ target=_blank class=infotextkey>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