(1) 第一個程式HelloWorld:
package mypack; //相當于一個目錄
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
注:
1、檔案名必需和public修飾的類名分歧,以.java作為檔案字尾,假如定義的類不是public的,則檔案名與類名能夠不同。
2、一個.java檔案中能夠有多個class,但是隻要一個public修飾的類。
3、java源代碼檔案編譯後,一個類對應生成一個.class檔案。
4、一個java應用程式應該包含一個main()辦法,而且其簽名是固定的,它是應用程式的入口辦法,能夠定義在恣意一個類中,不一定是public修飾的類。
編譯:javac -d . HelloWorld.java
含有包的類,在編譯的時分最好用上面的格式,-d指的是讓該類生成的時分依照包構造去生成,“.”指的是在目前途徑下生成。
假如不用上面的格式,也能夠用javac HelloWorld.java,但是需求留意的是包構造就要由本人去樹立,然後将生成的.class檔案放到該目錄下。
執行:java mypack.HelloWorld
将位元組碼檔案交給Java虛拟機去解釋執行。
需求留意的事,必需運用包名.類名去解釋執行。
(2) Java的運轉過程
編譯:生成可執行檔案,如C++中應用g++生成a.out,效率高,但不跨平台。
解釋:解釋器把源檔案逐行解釋,跨平台但效率不高。
在java中,先編譯後解釋,把.java檔案編譯成.class位元組碼檔案:
Java源代碼檔案(.java檔案)
Java編譯器(javac)
Java位元組碼檔案(.class檔案,平台無關的)
Java解釋器(java),執行Java位元組碼
Java是跨平台的言語,真正執行的不是二進制代碼,而是位元組碼。
Java程式的執行實踐上是在JVM(Java Virtual Machine,Java虛拟機)上解釋執行的,Java是跨平台的,而JVM不是跨平台的(JVM是由C言語編寫的),Java之是以可以做到跨平台,實質緣由在于JVM不是跨平台的。