一個完整的Java程式示例
阿新 • • 發佈:2018-12-12
(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不是跨平臺的。