java里class有什么用_安装JDK时的java和javac命令有什么用?
相信大家都裝過JDK吧,在裝JDK時我們會在命令提示符窗口中通過java和javac兩個命令來檢測我們的環(huán)境變量是否配置正確,那么你知道java和javac兩個命令有什么用嗎?
在了解這兩個命令的作用時,我們先來簡單了解一下java代碼的編譯過程,我們都知道java語言具有可移植性,關(guān)鍵就在這個可移植性是怎么實現(xiàn)的。我們都知道有一個東西叫JVM就是虛擬機,關(guān)鍵就在這個虛擬機,我們所寫好的JAVA源碼是一個".java"文件,虛擬機將".java"文件編譯為一個".class"文件也就是字節(jié)碼文件,可移植性呢就是通過這個字節(jié)碼文件來實現(xiàn)的,假如我們直接將源碼文件編譯為計算機能執(zhí)行的二進制文件,那么每個操作系統(tǒng)所形成的二進制文件都不同,那么這就不能實現(xiàn)可移植性,所以先將源碼生成一個字節(jié)碼文件,再通過不同平臺上的不同虛擬機執(zhí)行相同的字節(jié)碼文件就可以實現(xiàn)java的可移植性。
1.javac編譯文件
前面我們簡單了解了java語言的編譯過程,那么我們就可以先來研究這個javac命令,javac命令是將我們的源碼".java"文件編譯為".class"文件的命令,也可以理解為javac編譯器。為什么需要編譯呢,因為我們寫的程序我們自己能看懂,但不代表電腦能看懂,所以需要對我們寫的程序進行編譯,將它編譯為電腦能看懂的文件,但編譯肯定不能我們自己來編譯,我們也不會啊,所以這里的編譯就需要用到j(luò)avac命令對我們寫的程序進行編譯。
我們先來打開我們的JDK文件打開bin目錄,我們會發(fā)現(xiàn)里面有一個javac.exe和java.exe的應(yīng)用程序。
那么有什么用呢,我們來自己寫個".java"文件來運用一下javac命令。首先我們創(chuàng)建一個txt文件。
然后將我們的代碼在txt文件中寫好之后,保存將文件后綴改為.class。
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
接著我們打開win+r打開我們的命令提示符窗口,進入到我們保存文件的路徑
(ps:關(guān)于cmd的操作我就不多介紹了,點擊這里學習CMD基本操作,作為一名程序猿,相關(guān)的CMD操作還是要知道的)
然后我們對我們寫好的文件進行javac命令,看看會發(fā)生什么,注意:在使用javac命令時我們必須在文件后加上.java后綴
看似什么也沒有發(fā)生,但當我們打開我們的文件夾時我們發(fā)現(xiàn)我們的文件夾里多了一個名字一模一樣但后綴不一樣的文件
我們來總結(jié)一下:
1.javac命令是用來編譯我們寫的程序的
2.編譯之后我們將得到一個.class文件
2.java運行文件
那么我們得到一個.class文件之后有什么用呢,首先我們會發(fā)現(xiàn)我們只是編譯了我們的.java文件,但我們沒有運行呀,我們寫程序就是為了運行相關(guān)操作得到我們想要的結(jié)果,所以我們還需要運行我們寫的程序,這時候就需要用到java命令對.class文件進行運行。
同樣在我們剛剛操作的CMD中,我們用java命令來對剛剛生成的.class文件進行操作,注意:使用java命令的時候,后面不能有.class后綴
我們發(fā)現(xiàn)這里將我們的HelloWordl輸出了,也就是運行了我們寫的代碼。那么假如我們運行我們的.java文件會發(fā)生什么呢?
我們會發(fā)現(xiàn)它給我們提示了一個錯誤。
好的我們再來總結(jié)一下:
1.java命令是用來運行我們寫的程序的
2.java命令只能運行經(jīng)過編譯后的.class文件
3.java編譯機制
在介紹了這兩個命令之后,我們最終是為了讓我們java的編譯機制,但我們介紹的編譯機制只是一個簡單的了解。通過我們自己的實踐,我們就知道了首先我們寫的代碼在.java文件中,需要運行的是.class文件,所以我們需要用到j(luò)avac命令編譯.java文件,再用java命令就可以執(zhí)行我們文件。我們這里了解的java編譯機制不是通過無聊的什么流程圖來知道它是怎么編譯運行的,而是我們自己去編譯運行它,因為學習編程就需要我們多動手,并且這樣你也才會有性趣接著學。
總結(jié)
以上是生活随笔為你收集整理的java里class有什么用_安装JDK时的java和javac命令有什么用?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: char的初始值_java从入门到放弃
- 下一篇: 演字开头的成语有哪些啊?