1. 程式人生 > >一個完整的Java程式示例

一個完整的Java程式示例

(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不是跨平臺的。