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)寫(xiě)個(gè)java文件試試。
1、打開(kāi)記事本,輸入一個(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),選擇“在此處打開(kāi)命令窗口”
4、輸入 javac Hello.java 回車
如果java類書(shū)寫(xiě)格式?jīng)]有錯(cuò)誤,cmd不會(huì)報(bào)錯(cuò),而且在java文件同目錄內(nèi)生成一個(gè)class文件。
5、輸入 java Hello 回車
若輸出下圖,恭喜你,成功了!你已經(jīng)把java類中,輸出打印“Hello World”顯示在cmd命令行中。
三、總結(jié):
首先我們使用記事本編寫(xiě)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ū)分大小寫(xiě),注意是否要加擴(kuò)展名。
javac Hello.java
java Hello
問(wèn)題二:javac命令報(bào)錯(cuò),如下圖
javac命令報(bào)錯(cuò),一般都是java代碼有誤,需要檢查修改。
下圖中,java代碼很明顯的錯(cuò)誤,輸出打印語(yǔ)句寫(xiě)在了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)檢查一下,如果不會(huì)配置java環(huán)境變量,請(qǐng)查看java開(kāi)發(fā)配置環(huán)境變量。
逐一核對(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”
特別注意變量值開(kāi)頭是”.;”(點(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開(kāi)發(fā)環(huán)境或環(huán)境變量配置有誤。
五、作者推薦
cmd命令行運(yùn)行java代碼是最基礎(chǔ),而且都應(yīng)該掌握的方式,特別是對(duì)于新人來(lái)說(shuō),應(yīng)該最先接觸學(xué)習(xí)。隨著學(xué)習(xí)的深入,如果覺(jué)得記事本寫(xiě)java代碼太low,作者推薦使用EditPlus,功能很強(qiáng)大的體積又很小的文本編輯軟件,是收費(fèi)軟件,不過(guò)破解很簡(jiǎn)單,大家可以百度一下。然后大家會(huì)用到專業(yè)的IDE(Integrated Development Environment,集成開(kāi)發(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)定,大家可以自行選擇。
下載地址:
1、Editplus
2、Eclipse
到此這篇關(guān)于cmd使用javac和java及注意事項(xiàng)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring boot基于JPA訪問(wèn)MySQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
本文主要介紹了Spring boot基于JPA訪問(wèn)MySQL數(shù)據(jù)庫(kù)的實(shí)現(xiàn),Spring boot結(jié)合Jpa 能夠簡(jiǎn)化創(chuàng)建 JPA 數(shù)據(jù)訪問(wèn)層和跨存儲(chǔ)的持久層功能,用戶的持久層Dao接口只需要繼承定義好的接口,感興趣的可以了解一下2021-06-06JavaScript實(shí)現(xiàn)鼠標(biāo)移動(dòng)粒子跟隨效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)移動(dòng)粒子跟隨效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08Java 泛型 Generic機(jī)制實(shí)例詳解
這篇文章主要為大家介紹了Java 泛型 Generic機(jī)制實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11springboot docker原理及項(xiàng)目構(gòu)建
這篇文章主要介紹了springboot docker原理及項(xiàng)目構(gòu)建,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11java枚舉類的屬性、方法和構(gòu)造方法應(yīng)用實(shí)戰(zhàn)
這篇文章主要介紹了java枚舉類的屬性、方法和構(gòu)造方法應(yīng)用,結(jié)合實(shí)例形式分析了java枚舉類的定義、構(gòu)造及相關(guān)應(yīng)用操作技巧,需要的朋友可以參考下2019-08-08Spring Core核心類庫(kù)的功能與應(yīng)用實(shí)踐分析
本文詳細(xì)介紹了SpringCore核心類庫(kù)的功能、應(yīng)用實(shí)踐和底層原理,SpringCore提供了控制反轉(zhuǎn)(IOC)、依賴注入(DI)、Bean管理以及JNDI、定時(shí)任務(wù)等企業(yè)級(jí)功能,文章通過(guò)多個(gè)Java示例展示了SpringCore的應(yīng)用,感興趣的朋友跟隨小編一起看看吧2024-12-12SpringBoot實(shí)現(xiàn)多租戶架構(gòu)
在SpringBoot中可以通過(guò)多數(shù)據(jù)源和動(dòng)態(tài)路由來(lái)實(shí)現(xiàn)多租戶機(jī)制,本文主要介紹了SpringBoot實(shí)現(xiàn)多租戶架構(gòu),具有一定的參考價(jià)值,感興趣的可以里哦啊接一下2024-03-03SpringMVC mybatis整合實(shí)例代碼詳解
這篇文章主要介紹了springmvc與mybatis實(shí)例詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-04-04基于Java實(shí)現(xiàn)遍歷文件目錄并去除中文文件名
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)遍歷文件目錄并去除中文文件名,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考一下2024-03-03