一個完整的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不是跨平台的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM