cmd使用javac和java及注意事項(xiàng)
一、簡述:
cmd中,執(zhí)行java命令與javac命令的區(qū)別:
javac:是編譯命令,將java源文件編譯成.class字節(jié)碼文件。
例如:javac hello.java
將生成hello.class文件。
java:是運(yùn)行字節(jié)碼文件;由java虛擬機(jī)對字節(jié)碼進(jìn)行解釋和運(yùn)行。
例如:java hello
二、詳述:
下面我們來寫個(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不會報(bào)錯(cuò),而且在java文件同目錄內(nèi)生成一個(gè)class文件。
5、輸入 java Hello 回車
若輸出下圖,恭喜你,成功了!你已經(jīng)把java類中,輸出打印“Hello World”顯示在cmd命令行中。
三、總結(jié):
首先我們使用記事本編寫java源代碼,擴(kuò)展名.java;
在命令行模式中,輸入命令:javac 源文件名.java,對源代碼進(jìn)行編譯,生成class字節(jié)碼文件;
編譯完成后,如果沒有報(bào)錯(cuò)信息,輸入命令:java Hello,對class字節(jié)碼文件進(jìn)行解釋運(yùn)行,打印“Hello World”。
為了方便大家理解javac和java編譯運(yùn)行過程,可以看下圖:
至此,我相信大家應(yīng)該對javac和java使用有了比較客觀的了解。
四、答疑:
接下來,我們來看一下大家在實(shí)踐中容易遇到的問題。
問題一:cmd命令一定要準(zhǔn)確,區(qū)分大小寫,注意是否要加擴(kuò)展名。
javac Hello.java
java Hello
問題二:javac命令報(bào)錯(cuò),如下圖
javac命令報(bào)錯(cuò),一般都是java代碼有誤,需要檢查修改。
下圖中,java代碼很明顯的錯(cuò)誤,輸出打印語句寫在了main函數(shù)的外面,修改正確就不會報(bào)錯(cuò)了。
javac命令報(bào)錯(cuò),去看java代碼,肯定有錯(cuò)誤。
問題三:javac命令執(zhí)行完成,生成class文件,但是java命令報(bào)錯(cuò),如下圖
我查閱資料,找到報(bào)錯(cuò)的原因,首先檢查java源代碼,記住,java類不要加package路徑!再就是java環(huán)境變量有問題,咱們一起來檢查一下。
右擊“計(jì)算機(jī)-屬性-高級系統(tǒng)設(shè)置”,單擊“環(huán)境變量”。我相信大家都已經(jīng)配置java環(huán)境變量,咱們來檢查一下,如果不會配置java環(huán)境變量,請查看java開發(fā)配置環(huán)境變量。
逐一核對 ”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)分號),這個(gè)地方需要特別注意,我就是因?yàn)檫@個(gè)點(diǎn)和分號不對報(bào)錯(cuò)的。
java源碼修改后,需要把之前生成的class文件刪除,從新運(yùn)行javac和java命令。
環(huán)境變量修改后,一定要重啟cmd命令行窗口,再把把之前生成的class文件刪掉,重新運(yùn)行javac和java命令。
注:若在輸入javac命令時(shí),顯示'javac'不是內(nèi)部或外部命令,原因也是因?yàn)闆]有提前安裝好JDK開發(fā)環(huán)境或環(huán)境變量配置有誤。
五、作者推薦
cmd命令行運(yùn)行java代碼是最基礎(chǔ),而且都應(yīng)該掌握的方式,特別是對于新人來說,應(yīng)該最先接觸學(xué)習(xí)。隨著學(xué)習(xí)的深入,如果覺得記事本寫java代碼太low,作者推薦使用EditPlus,功能很強(qiáng)大的體積又很小的文本編輯軟件,是收費(fèi)軟件,不過破解很簡單,大家可以百度一下。然后大家會用到專業(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)定,大家可以自行選擇。
下載地址:
1、Editplus
2、Eclipse
到此這篇關(guān)于cmd使用javac和java及注意事項(xiàng)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring boot基于JPA訪問MySQL數(shù)據(jù)庫的實(shí)現(xiàn)
本文主要介紹了Spring boot基于JPA訪問MySQL數(shù)據(jù)庫的實(shí)現(xiàn),Spring boot結(jié)合Jpa 能夠簡化創(chuàng)建 JPA 數(shù)據(jù)訪問層和跨存儲的持久層功能,用戶的持久層Dao接口只需要繼承定義好的接口,感興趣的可以了解一下2021-06-06JavaScript實(shí)現(xiàn)鼠標(biāo)移動粒子跟隨效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)鼠標(biāo)移動粒子跟隨效果,文中示例代碼介紹的非常詳細(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)建,文中通過示例代碼介紹的非常詳細(xì),對大家的學(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核心類庫的功能與應(yīng)用實(shí)踐分析
本文詳細(xì)介紹了SpringCore核心類庫的功能、應(yīng)用實(shí)踐和底層原理,SpringCore提供了控制反轉(zhuǎn)(IOC)、依賴注入(DI)、Bean管理以及JNDI、定時(shí)任務(wù)等企業(yè)級功能,文章通過多個(gè)Java示例展示了SpringCore的應(yīng)用,感興趣的朋友跟隨小編一起看看吧2024-12-12SpringBoot實(shí)現(xiàn)多租戶架構(gòu)
在SpringBoot中可以通過多數(shù)據(jù)源和動態(tà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