第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

第一個(gè) Java 程序

本節(jié)我們將以Windows操作系統(tǒng)為例,編寫并執(zhí)行第一個(gè)Java程序。在這之前,請確保你的操作系統(tǒng)上已經(jīng)安裝了JDK

1. 編譯程序

大家可能有個(gè)疑問,為什么需要編譯程序呢?計(jì)算機(jī)不能直接執(zhí)行我們編寫的源代碼嗎?

這是由于計(jì)算機(jī)只能識別由0和1組成的二進(jìn)制代碼。需要通過編譯將源代碼轉(zhuǎn)換為計(jì)算機(jī)認(rèn)識的二進(jìn)制代碼。

1.1 Java 中的編譯

在 Java 中,程序不是直接被編譯為可執(zhí)行文件,而是被編譯為字節(jié)碼文件, JVM(Java虛擬機(jī))在運(yùn)行時(shí)執(zhí)行字節(jié)碼文件。當(dāng)我們使用 javac 編譯器時(shí),Java 源代碼文件被編譯為字節(jié)碼文件,字節(jié)碼文件以擴(kuò)展名 .class 的形式保存在磁盤上。當(dāng)程序運(yùn)行時(shí),字節(jié)碼文件將被轉(zhuǎn)換為機(jī)器代碼,并在內(nèi)存中執(zhí)行。

總的來說,Java 源代碼需要被“轉(zhuǎn)換”兩次才能被計(jì)算機(jī)執(zhí)行:

  1. Java 源代碼被編譯為字節(jié)碼:由 javac 前端編譯器完成;
  2. 字節(jié)碼被編譯為機(jī)器碼:由 JVM 的執(zhí)行引擎完成。

下圖描述了一個(gè)Java程序從編寫編譯,再到執(zhí)行的步驟:

1.2 快速執(zhí)行一個(gè)程序

1.2.1 準(zhǔn)備工作

為了確保我們?nèi)松械谝粋€(gè) Java 程序能夠順利執(zhí)行,請首先確認(rèn)你已經(jīng)完成了下面兩件事情:

  1. 已經(jīng)在你的電腦上成功安裝 JDK;
  2. 有一個(gè)文本編輯器。(如 Windows 的記事本,Unix 的 vim)。

1.2.2 編寫源代碼

新建一個(gè)文本,輸入如下內(nèi)容,將其命名為 HelloWorld.java并保存

實(shí)例演示
預(yù)覽 復(fù)制
復(fù)制成功!
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
運(yùn)行案例 點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果

Tips

  • 文件名必須與類名同名(類名就是上面第一行代碼中class后面的HelloWorld),并且擴(kuò)展名為 .java,文件名和類名都區(qū)分大小寫,所以請確保文件名和類名大小寫保持一致;
  • 類的命名約定以大寫字母開頭;
  • 上述代碼中的所有符號,請使用英文半角;
  • 別忽略了代碼第三行結(jié)尾的分號;。

下面為實(shí)操中的截圖。

打開記事本,輸入源代碼:

點(diǎn)擊文件 -> 保存,將文件保存到磁盤(此處保存在桌面上),注意:這里要將文件名命名為HelloWorld.java,保存類型選擇所有文件,編碼選擇UTF-8

1.2.3 編譯后執(zhí)行

現(xiàn)在,打開你常用的命令行工具。(如 Windows 上的命令提示符、MacOS 上的終端),并進(jìn)入你剛剛保存 Java 源代碼的目錄。

Windows搜索欄中輸入cmd即可打開:

使用cd命令,進(jìn)入到我們剛剛保存源代碼的目錄(即進(jìn)入到桌面目錄cd Desktop),使用dir命令,查看目錄下內(nèi)容:

使用javac命令編譯源代碼:

javac HelloWorld.java

執(zhí)行編譯命令后,你會(huì)發(fā)現(xiàn)同一目錄下會(huì)生成一個(gè)HelloWorld.class文件,這個(gè)HelloWorld.class就是我們說的字節(jié)碼文件。接下來就是通過 JVM 執(zhí)行字節(jié)碼文件了,輸入下面的命令:

java HelloWorld

如果一切正常,你會(huì)看到屏幕上輸出如下內(nèi)容:

祝賀你!成功執(zhí)行了第一個(gè) Java 程序!

Tips

  • javac 是編譯器,而 java 是虛擬機(jī),先使用 javac 編譯器編譯源代碼,再使用java虛擬機(jī)執(zhí)行字節(jié)碼文件。這就是我們上面提到的 java 源代碼被轉(zhuǎn)換兩次到執(zhí)行的過程。
  • java 命令后面的參數(shù)是類名。換句話說,我們只需要給虛擬機(jī)傳遞類名作為參數(shù)即可,虛擬機(jī)會(huì)自動(dòng)查找對應(yīng)的以.class為擴(kuò)展名的文件并且執(zhí)行。

2. 理解程序

我們現(xiàn)在對上面的 HelloWorld.java 代碼進(jìn)行解析:

public class HelloWorld {
		...
}

這段代碼表示我們定義了一個(gè)公開類,類名為 HelloWorld,按照約定類名首字母要大寫。

public 表示這個(gè)類是公開的(至于什么是公開的,我們后面再講),class顧名思義,就是, publicclass都是 Java 中的關(guān)鍵字,必須小寫。 花括號{} 中間為類的定義。

下面我們來看下花括號中間的 main()方法代碼:

    public static void main(String[] args) {
        ...
    }

這段代碼表示我們定義了一個(gè)入口方法,注意:入口方法是 Java 程序執(zhí)行的起點(diǎn)。

publicstatic分別表示方法是公開的、靜態(tài)的,void是方法的返回類型,main后面的括號() 用來將方法的參數(shù)括起來,String[]是參數(shù)的類型,args是參數(shù)的名稱。
當(dāng)然,剛剛對于代碼的解釋略顯生澀,作為初學(xué)者無需深究每一項(xiàng)的含義。但有一個(gè)點(diǎn)請務(wù)必牢記:Java 規(guī)定,某個(gè)類定義的public static void main(String[] args)是Java程序的固定入口方法。

在方法內(nèi)部,有一行代碼:

        System.out.println("Hello World!");

這行代碼的意義就是將Hello World這一串字符打印在屏幕上。你可以嘗試修改這塊內(nèi)容,將代碼中的Hello World!,替換為其他內(nèi)容,例如:

實(shí)例演示
預(yù)覽 復(fù)制
復(fù)制成功!
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("我愛慕課網(wǎng)!");
    }
}
運(yùn)行案例 點(diǎn)擊 "運(yùn)行案例" 可查看在線運(yùn)行效果

保存源代碼,打開命令行,重新編譯執(zhí)行,屏幕上輸出的內(nèi)容將會(huì)被成功替換。

3. 小結(jié)

本小節(jié)我們一起完成了第一個(gè) Java 程序的執(zhí)行,在這個(gè)過程中,我們了解了編譯相關(guān)的知識,知道了使用 javac命令,可以將一個(gè).java擴(kuò)展名的源代碼文件編譯成.class擴(kuò)展名的字節(jié)碼文件,使用 java 命令,可以執(zhí)行字節(jié)碼文件。我們也對程序的基礎(chǔ)語法有了大致的了解。如果你對程序的理解還有困惑,也不必?fù)?dān)心,在后面的章節(jié)中,我們將具體學(xué)習(xí) Java 的基礎(chǔ)語法,隨著知識的累積,你也將更加游刃有余地閱讀、編寫程序。