1. 程式人生 > 實用技巧 >Java 之 第一個Java程式

Java 之 第一個Java程式

一、開發步驟

  1、Java 程式碼編寫到副檔名為 .java 的檔案中。

  2、通過 javac 命令對該 java 檔案進行編譯 。

  3、通過 java 命令對生成的 class 檔案進行執行。   

  

二、編寫

  選擇最簡單的編輯器:記事本。

  敲入程式碼 class Test{ }將檔案儲存成Test.java,這個檔案是存放java程式碼的檔案,稱為原始檔。

  

  檔案的字尾名顯示為 .java,所以要把檔案的副檔名顯示出來。

三、編譯  

  

  有了java原始檔,通過編譯器將其編譯成JVM可以識別的位元組碼檔案。
  在該原始檔目錄下,通過javac

編譯工具對Test.java檔案進行編譯。
  如果程式沒有錯誤,沒有任何提示,但在當前目錄下會出現一個Test.class檔案,該檔案稱為位元組碼檔案,也是可以執行的java的程式。

四、執行

  有了可執行的java程式(Test.class位元組碼檔案)
  通過執行工具java.exe對位元組碼檔案進行執行。
  出現提示:缺少一個名稱為main的方法。

  

  因為一個程式的執行需要一個起始點或者入口,所以在Test類中的加入public static voidmain(String[] args){ }
  對修改後的Test.java原始檔需要重新編譯,生成新的class檔案後,再進行執行。


  發現沒有編譯失敗,但也沒有任何效果,因為並沒有告訴JVM要幫我們做什麼事情,也就是沒有可以具體執行的語句。
  想要和JVM來個互動,只要在main方法中加入一句System.out.println(“Hello World");因為程序進行改動,所以再重新編譯,執行即可。

五、第一個程式

public class Test{
    public static void main(String[] args) {
        System.out.println(“Hello World!”);
    }
}

六、常見問題及解決方法

  1、Question

    

      原始檔名不存在或者寫錯
      當前路徑錯誤
      字尾名隱藏問題

  2、Question

    

    類檔名寫錯,尤其檔名與類名不一致時,要小心
    類檔案不在當前路徑下,或者不在classpath指定路徑下

  3、Question

    

    宣告為public的類應與檔名一致,否知編譯失敗

  4、Question

    

  編譯失敗,注意錯誤出現的行數,再到原始碼中指定位置改錯

七、總結與擴充套件

  1、每一個 Java 檔案都是一個 Java類,一個類的組成主要由下面幾部分組成:

    關鍵字 class

    類名:Test,檔名必須和主類的名字是一致的,注意大小寫。

    內容:{}

    主函式:main函式,主函式是一個程式的入口函式,程式執行就是執行主函式,主函式執行完了,程式也就執行完了。JVM在執行的時候,都是從 main 方法開始執行的。(可以沒有主函式一個類中)

    一個原始檔中可以定義多個類,編譯之後都會生成一個 .class 檔案,但是隻能定義一個公開類,且公開類的類名和檔名完全一致,公開類用public修飾。

    Java 程式的基本組成單元是,類中又包括屬性方法兩部分,每一個應用程式都必須包含一個main() 方法,含有 main() 方法的類稱為主類

  2、編譯

    編譯:編寫好的 Java 檔案 JVM 看不懂,也就不能執行,需要將寫好的 Java 原始檔,編譯成 JVM可以看懂的 位元組碼檔案。

    在 DOS 命令列中,進入 Java 原始檔的目錄,使用 javac 命令進行編譯。(原始檔名不區分大小寫,但是建議注意大小寫)

    命令:

javac Java原始檔名.java

    編譯成功後,命令列沒有任何提示,在原始檔的目錄中就會有一個和 原始檔同名的 .class 檔案,這個檔案就是編譯後的檔案,是Java的可執行檔案,稱為位元組碼檔案。

  3、執行程式

    在 DOS 命令列中,進入 java 原始檔的目錄,使用 java 命令進行執行。(位元組碼檔名(類名),嚴格區分大小寫。)

    命令:

java  類名(類名與原始檔不一致,非公開類)
java  原始檔名(類名與原始檔名一致,公開類)

    執行的時候切記不要給檔案新增字尾名

    Tips: 編譯和執行

      編譯:是指將編寫的 java 原始檔翻譯成 JVM 認知的 class 檔案,在這個過程中,javac 編譯器會檢查我們所寫的程式時候錯誤,有錯誤就會提示出來,如果沒有錯誤就會編譯成功。

      執行:是指將 class 檔案交給 JVM 去執行,此時 JVM就會執行我們寫的程式。

  4、包

    (1)包的作用

       ① 避免類的重名問題

        有了包後,類的名稱就比較長了,類的全名稱就變成了: 包.類名

java.util.Scanner :Scanner類的全名稱

java.lang.String:String類的全名稱
java.lang.System:System類的全名稱
java.lang.Math:Math類的全名稱

      ② 分類組織管理眾多的類

java.io:和IO(輸入輸出)有關

java.util:和各種常用工具類有關
java.lang:核心系統類
java.net:和網路程式設計有關
java.sql:和資料庫程式設計有關

       ③ 用於訪問許可權控制

        如果某個類或某個方法的許可權修飾符省略,那麼就僅限於本包使用。

    (2)如何宣告包

       語法格式:

package 包名;

      注意

         ① 一個 .java 原始檔只能有一句

         ② 必須在原始檔的程式碼首行

         ③package 關鍵字:類似於資料夾,用於管理位元組碼檔案,必須寫在原始檔的第一行。並且可以有多層包。(0~1個包)

       包名的命名規範:

         ① 所有單詞都小寫,每個單詞之間用 . 分割

         ② 習慣上用公司的域名倒置 + 模組名

    (3)如何編譯帶包的類

        編譯帶包的類語法:

javac -d . 原始檔名.java (自動生成目錄結構)

    (4)如何執行帶包的類

        執行帶包的類語法:

java 包名.類名(全限定名)

    (5)如何使用其他包的類

       前提:被使用的類或成員的許可權修飾符的允許跨包使用

     語法:

使用全名稱:包.類名
使用import語句 + 簡名稱	

       說明:

        ①import 語句是寫在 package 語句與 class 宣告之間的

        ② 導包語句可以很多句,匯入不同包的類

        ③ java.lang 包中的類可以不適用 import 語句,直接使用簡名稱

        ④ 可以同時匯入一個包中的很多類,如 import 包.*;

        ⑤ 如果出現了不同的包,但是類名相同

          例如: java.util.Date 與 java.sql.Date;

          此時只能一個選擇使用全名稱,一個使用簡名稱,不能同時使用簡名稱

         import 關鍵字:當一個類中需要引用另外一個類的方法,需要引用對應的包。(0~n個包)

        注意:如果有多個包結構是相同的,用 * 代替該包結構下的所有類。