cmd中javac和java使用及注意事項(xiàng)詳解
一、簡(jiǎn)述:
cmd中,執(zhí)行java命令與javac命令的區(qū)別:
javac:是編譯命令,將java源文件編譯成.class字節(jié)碼文件。
例如:javac hello.java
將生成hello.class文件。
java:是運(yùn)行字節(jié)碼文件;由java虛擬機(jī)對(duì)字節(jié)碼進(jìn)行解釋和運(yùn)行。
例如:java hello
二、詳述:
下面我們來(lái)寫個(gè)java文件試試。
1、打開記事本,輸入一個(gè)類+主函數(shù)
public class Hello{ public static void main(String[] args) { System.out.println("Hello World"); } }
2、點(diǎn)擊 文件->保存,保存到相應(yīng)文件夾下,文件名修改了xxx.java
3、在Hello.java文件夾內(nèi),空白位置,按住鍵盤Shift,右擊鼠標(biāo),選擇“在此處打開命令窗口”
4、輸入 javac Hello.java 回車
如果java類書寫格式?jīng)]有錯(cuò)誤,cmd不會(huì)報(bào)錯(cuò),而且在java文件同目錄內(nèi)生成一個(gè)class文件。
5、輸入 java Hello 回車
若輸出下圖,恭喜你,成功了!你已經(jīng)把java類中,輸出打印“Hello World”顯示在cmd命令行中。
三、總結(jié):
首先我們使用記事本編寫java源代碼,擴(kuò)展名.java;
在命令行模式中,輸入命令:javac 源文件名.java,對(duì)源代碼進(jìn)行編譯,生成class字節(jié)碼文件;
編譯完成后,如果沒(méi)有報(bào)錯(cuò)信息,輸入命令:java Hello,對(duì)class字節(jié)碼文件進(jìn)行解釋運(yùn)行,打印“Hello World”。
為了方便大家理解javac和java編譯運(yùn)行過(guò)程,可以看下圖:
至此,我相信大家應(yīng)該對(duì)javac和java使用有了比較客觀的了解。
四、答疑:
接下來(lái),我們來(lái)看一下大家在實(shí)踐中容易遇到的問(wèn)題。
問(wèn)題一:cmd命令一定要準(zhǔn)確,區(qū)分大小寫,注意是否要加擴(kuò)展名。
javac Hello.java
java Hello
問(wèn)題二:javac命令報(bào)錯(cuò),如下圖
javac命令報(bào)錯(cuò),一般都是java代碼有誤,需要檢查修改。
下圖中,java代碼很明顯的錯(cuò)誤,輸出打印語(yǔ)句寫在了main函數(shù)的外面,修改正確就不會(huì)報(bào)錯(cuò)了。
javac命令報(bào)錯(cuò),去看java代碼,肯定有錯(cuò)誤。
問(wèn)題三:javac命令執(zhí)行完成,生成class文件,但是java命令報(bào)錯(cuò),如下圖
我查閱資料,找到報(bào)錯(cuò)的原因,首先檢查java源代碼,記住,java類不要加package路徑!再就是java環(huán)境變量有問(wèn)題,咱們一起來(lái)檢查一下。
右擊“計(jì)算機(jī)-屬性-高級(jí)系統(tǒng)設(shè)置”,單擊“環(huán)境變量”。我相信大家都已經(jīng)配置java環(huán)境變量,咱們來(lái)檢查一下。
逐一核對(duì) ”JAVA_HOME” “Path” “CLASSPATH”
(1)"JAVA_HOME",變量值是你的電腦JDK的安裝路徑,我的是"D:\java\tool\java1.8\JDK"
(2)"Path",在原變量值的最后面加上”;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)”CLASSPATH”,變量值”.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
特別注意變量值開頭是”.;”(點(diǎn)分號(hào)),這個(gè)地方需要特別注意,我就是因?yàn)檫@個(gè)點(diǎn)和分號(hào)不對(duì)報(bào)錯(cuò)的。
java源碼修改后,需要把之前生成的class文件刪除,從新運(yùn)行javac和java命令。
環(huán)境變量修改后,一定要重啟cmd命令行窗口,再把把之前生成的class文件刪掉,重新運(yùn)行javac和java命令。
注:若在輸入javac命令時(shí),顯示'javac'不是內(nèi)部或外部命令,原因也是因?yàn)闆](méi)有提前安裝好JDK開發(fā)環(huán)境或環(huán)境變量配置有誤。
五、作者推薦
cmd命令行運(yùn)行java代碼是最基礎(chǔ),而且都應(yīng)該掌握的方式,特別是對(duì)于新人來(lái)說(shuō),應(yīng)該最先接觸學(xué)習(xí)。隨著學(xué)習(xí)的深入,如果覺(jué)得記事本寫java代碼太low,作者推薦使用EditPlus,功能很強(qiáng)大的體積又很小的文本編輯軟件,是收費(fèi)軟件,不過(guò)破解很簡(jiǎn)單,大家可以百度一下。然后大家會(huì)用到專業(yè)的IDE(Integrated Development Environment,集成開發(fā)環(huán)境)軟件,如Eclipse(免費(fèi)),MyEclipse(收費(fèi)),IntelliJ IDEA(收費(fèi))等等,目前我只接觸到以上列舉的三款I(lǐng)DE,免費(fèi)的推薦Eclipse,收費(fèi)的推薦IntelliJ IDEA,收費(fèi)軟件網(wǎng)上都有破解方法,但是破解版不如免費(fèi)版穩(wěn)定,大家可以自行選擇。
因時(shí)間倉(cāng)促,作者水平有限,文中難免有不足之處,懇請(qǐng)大家批評(píng)指正。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEA查看方法說(shuō)明文檔的圖解
今天小編就為大家分享一篇關(guān)于IntelliJ IDEA查看方法說(shuō)明文檔的圖解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10Java練手小項(xiàng)目實(shí)現(xiàn)一個(gè)項(xiàng)目管理系統(tǒng)
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)項(xiàng)目管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-10-10Java Char的簡(jiǎn)單工具類CharUtil分享
下面小編就為大家分享一篇Java Char的簡(jiǎn)單工具類CharUtil,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12Mybatis如何通過(guò)注解開啟使用二級(jí)緩存
這篇文章主要介紹了Mybatis基于注解開啟使用二級(jí)緩存,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11Java實(shí)現(xiàn)常用加密算法——單向加密算法MD5和SHA
本篇文章主要介紹了Java實(shí)現(xiàn)常用加密算法——單向加密算法MD5和SHA,信息加密后數(shù)據(jù)更安全,需要的朋友可以參考下。2016-10-10vue用CryptoJS加密,java用CryptoUtil解密
CryptoJS是一個(gè)JavaScript庫(kù),提供了一系列密碼學(xué)函數(shù)和工具,用于加密、解密、生成摘要等任務(wù),本文vue前端使用CryptoJS加密,java后端使用CryptoUtil解密2024-09-09mybatisplus實(shí)現(xiàn)自動(dòng)創(chuàng)建/更新時(shí)間的項(xiàng)目實(shí)踐
Mybatis-Plus提供了自動(dòng)填充功能,可以通過(guò)實(shí)現(xiàn)MetaObjectHandler接口來(lái)實(shí)現(xiàn)自動(dòng)更新時(shí)間的功能,本文就來(lái)介紹一下mybatisplus實(shí)現(xiàn)自動(dòng)創(chuàng)建/更新時(shí)間的項(xiàng)目實(shí)踐,感興趣的可以了解下2024-01-01