小朋友學(xué)Java(3):第一個(gè)Java程序

一、編寫并執(zhí)行程序

(一)建立java文件并編寫代碼

1 如果是在Win系統(tǒng)下摹闽,可在某個(gè)路徑股耽,比如桌面根盒,用記事本建立一個(gè)Hello.txt文件,再將后綴名改為.java物蝙,即Hello.java炎滞。
2 如果是在Mac系統(tǒng)下,可在某個(gè)路徑诬乞,比如桌面册赛,新建一個(gè)“文本編輯”文件并保存成Hello,沒有后綴名震嫉。因?yàn)镸ac下后綴名rtf是隱藏的森瘪。rtf,全稱Rich Text Format票堵,富文本格式扼睬。
再將后綴名改為java,即Hello.java悴势。
3 編寫代碼

class Hello{
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

注意:
(1)文件名稱一定要和類名相同窗宇。這里類名為Hello措伐,則文件名必須為Hello.java,而不能是H.java担映、abc.java废士。
(2)對于Mac系統(tǒng),一定要先把文件名由Hello(實(shí)際上是Hello.rtf)改為Hello.java蝇完,再在Hello.java里編寫代碼官硝。
若是直接在Hello.rtf中編寫代碼,寫完再將文件名改為Hello.java短蜕,會看到Hello.java中都是一些亂碼氢架,這跟rtf的編碼格式有關(guān)系。
(3)對于Win系統(tǒng)朋魔,可以先在Hello.txt中編完代碼岖研,再將Hello.txt重命名為Hello.java。也可以先將Hello.txt重命名為Hello.java警检,再在Hello.java中編寫代碼孙援。

(二)在jdk的安裝路徑下,查找javac.exe和java.exe所在的路徑

具體位于C:\Program Files\Java\jdk1.7.0_80\bin 路徑下


1.png

(三)打開命令行窗口扇雕,進(jìn)入到“桌面”路徑拓售,并且用javac.exe來執(zhí)行Hello.java文件

2.png

執(zhí)行完之后,可看到桌面生成了Hello.class文件

注意:
(1)因?yàn)镻rogram Files中間帶了一個(gè)空格镶奉,所以上面javac所有的路徑要用雙引號包起來
(2)javac等價(jià)于javac.exe础淤。后綴名.exe可以省略掉。即上面的命令等價(jià)于
"C:\Program Files\Java\jdk1.7.0_80\bin\javac.exe" Hello.java

(四)用java.exe來執(zhí)行Hello.class文件哨苛,

注意鸽凶,不需要把.class寫出來,寫成Hello就可以了建峭。


3.png

這里顯示出程序的運(yùn)行結(jié)果“Hello World!”

二玻侥、Java程序的編譯過程

(一)編譯過程

4.png

.java后綴的是源代碼,一個(gè)或者多個(gè)源代碼要經(jīng)過java編譯器生產(chǎn).class后綴的字節(jié)碼亿蒸。字節(jié)碼是和平臺無關(guān)的使碾,和C語言編譯生成平臺相關(guān)的機(jī)器碼是不一樣的。機(jī)器碼只能在對應(yīng)的系統(tǒng)平臺執(zhí)行祝懂,字節(jié)碼執(zhí)行是系統(tǒng)平臺無關(guān)的,但是必須有解釋器拘鞋。

(二)執(zhí)行過程

5.png

和編譯型語言(比如C/C++)程序最大的不同是JAVA程序經(jīng)過解釋器轉(zhuǎn)換為和平臺相關(guān)的機(jī)器碼才可執(zhí)行砚蓬,可見這個(gè)過程在執(zhí)行過程中動態(tài)解釋,而編譯型語言(比如C)是在執(zhí)行之前就編譯成了和平臺相關(guān)的機(jī)器碼了盆色。這也是JAVA語言可以“一次(偽)編譯灰蛙,到處運(yùn)行”的重要原因祟剔。

三、設(shè)置環(huán)境變量

上面使用javac.exe或java.exe時(shí)摩梧,需要帶上全路徑物延,很不方便。
有沒有辦法在任何目錄下仅父,直接使用javac.exe或java.exe叛薯,而不需要輸入全路徑徑呢?
有的笙纤。這就需要設(shè)置系統(tǒng)的環(huán)境變量耗溜。所謂環(huán)境變量,可以理解成整個(gè)系統(tǒng)的全局變量省容,無論你在哪個(gè)路徑下抖拴,都可以使用。

(一)Win 7下設(shè)置環(huán)境變量

1 右鍵點(diǎn)擊“計(jì)算機(jī)”-->“屬性”-->“高級”-->“高級系統(tǒng)設(shè)置”


6.png

2 在系統(tǒng)變量中腥椒,添加JAVA_HOME阿宅,值為“C:\Program Files\Java\jdk1.7.0_80”


7.png

3 編輯Path變量,在最后面添加上“; %JAVA_HOME%\bin”


8.png

4 在命令行窗口中笼蛛,用echo命令查看JAVA_HOME和PATH


9.png

可見剛剛設(shè)置的Java相關(guān)的環(huán)境變量沒有生效

5 注銷賬戶或重啟系統(tǒng)洒放,再次用echo命令查看JAVA_HOME和PATH


10.png

可見環(huán)境變量設(shè)置成功了。

6 刪除之前生成的Hello.class伐弹,進(jìn)入“桌面”路徑拉馋,執(zhí)行javac Hello.java和java Hello


11.png

可見javac和java可以在任何路徑下使用了。

(二)Mac下的環(huán)境變量

先執(zhí)行javac和java命令

$ cd 
$ cd Desktop
$ javac Hello.java
$ java Hello

可以看到惨好,執(zhí)行javac Hello.java后煌茴,桌面生成了Hello.class文件。執(zhí)行java Hello后日川,終端成功打印出“Hello World!”的結(jié)果蔓腐。

為什么在桌面路徑下,就可以直接使用javac和java命令呢龄句?

(1)首先回论,咱們看一下javac和java這兩個(gè)可執(zhí)行文件,被安裝到哪了分歇。


12.jpg

可以看到傀蓉,jdk的安裝路徑為/Library/Java。
可執(zhí)行文件javac和java被安裝到了/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin目錄下职抡。

(2)其次葬燎,查看PATH變量的值

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

這樣看來,PATH路徑并沒有包含/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin,那為什么在桌面能辨認(rèn)出javac和java這兩個(gè)命令呢谱净?

(3)執(zhí)行whereis javac和whereis java

$ where is javac
/usr/bin/javac
$ where is java
/usr/bin/java

可以看出窑邦,javac和java都位于/usr/bin路徑下。
這說明壕探,jdk安裝完成之后冈钦,/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/bin目錄下的javac和java被另外拷貝了一份到/usr/bin目錄下。
而/usr/bin在PATH中有定義李请,所以javac和java在任何一個(gè)路徑下瞧筛,都能直接使用。

(4)結(jié)論:Mac安裝好jdk后捻艳,不需要設(shè)置環(huán)境變量驾窟,就可以在任意路徑下直接使用javac和java命令。

(三)Unix/Linux下設(shè)置環(huán)境變量

先執(zhí)行javac和java命令

$ cd 
$ cd Desktop
$ javac Hello.java
$ java Hello

若能執(zhí)行成功认轨,不需要配置PATH環(huán)境變量绅络。
若無法執(zhí)行成功,則需要配置PATH環(huán)境變量嘁字。
配置步驟如下:

1 首先使用echo PATH命令來查看恩急,PATH路徑包含不包含jdk的bin目錄。 注意纪蜒,windows系統(tǒng)不區(qū)分大小寫衷恭。echo %path% 等價(jià)于echo %PATH% 但是Mac/Unix/Linux區(qū)分大小寫,所以這里只能使用 echoPATH纯续,不能使用 echo $path

2 設(shè)置環(huán)境變量
(1)進(jìn)入用戶主目錄随珠,查看有沒有.bash_profile這個(gè)文件。

$ cd
$ ls -a

(2)如果沒有這個(gè)文件猬错,用vi創(chuàng)建.bash_profile并輸入下面的內(nèi)容窗看,
如果有這個(gè)文件,用vi將下面的內(nèi)容添加到.bash_profile的最下方

$ vi .bash_profile
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home  
export PATH=$JAVA_HOME/bin:$PATH  

注意:
① 這里的JAVA_HOME要填寫你jdk安裝的實(shí)際路徑倦炒,可能跟上面的路徑不太一樣显沈。
② PATH=JAVA_HOME/bin:PATH,這個(gè)句子是將JAVA_HOME/bin添加到PATH變量中逢唤。等號右側(cè)的:PATH變量一定要加上拉讯。如果沒寫,會導(dǎo)致原先的路徑直接被$JAVA_HOME/bin覆蓋鳖藕。

(3)用 :wq 退出vi編輯器并保存上面的內(nèi)容

(4)用source .bash_profile命令激活上面修改后的PATH變量

$ source .bash_profile

(5)用echo命令查看JDK的路徑魔慷,是否被包含在PATH變量中

$ echo $PATH


加入少兒信息學(xué)奧賽學(xué)習(xí)QQ群請掃左側(cè)二維碼,關(guān)注微信公眾號請掃右側(cè)二維碼


QQ群和公眾號.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末著恩,一起剝皮案震驚了整個(gè)濱河市院尔,隨后出現(xiàn)的幾起案子纹烹,更是在濱河造成了極大的恐慌,老刑警劉巖召边,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異裹驰,居然都是意外死亡隧熙,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門幻林,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贞盯,“玉大人,你說我怎么就攤上這事沪饺□锔遥” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵整葡,是天一觀的道長件余。 經(jīng)常有香客問我,道長遭居,這世上最難降的妖魔是什么啼器? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮俱萍,結(jié)果婚禮上端壳,老公的妹妹穿的比我還像新娘。我一直安慰自己枪蘑,他們只是感情好损谦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著岳颇,像睡著了一般照捡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赦役,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天麻敌,我揣著相機(jī)與錄音,去河邊找鬼掂摔。 笑死术羔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的乙漓。 我是一名探鬼主播级历,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼叭披!你這毒婦竟也來了寥殖?” 一聲冷哼從身側(cè)響起玩讳,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嚼贡,沒想到半個(gè)月后熏纯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粤策,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年樟澜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叮盘。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡秩贰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柔吼,到底是詐尸還是另有隱情毒费,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布愈魏,位于F島的核電站觅玻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蝌戒。R本人自食惡果不足惜串塑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望北苟。 院中可真熱鬧桩匪,春花似錦、人聲如沸友鼻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彩扔。三九已至妆档,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虫碉,已是汗流浹背贾惦。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留敦捧,地道東北人须板。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像兢卵,于是被迫代替她去往敵國和親习瑰。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文主要是記錄一些在網(wǎng)上找到的一些方法秽荤,然后自己整理了下讓自己更好理解一點(diǎn)甜奄, 如有侵權(quán)柠横,請告知 本次實(shí)現(xiàn)的代碼主要...
    哆啦_閱讀 672評論 0 0
  • 【天命之謂性烟阐,率性之謂道糜俗,修道之謂教∏ィ】 朱熹注解說:命,就是令珠月。性扩淀,就是理。 那么天命就是上天的命令啤挎,天性就是天...
    華杉2009閱讀 3,337評論 6 25
  • 電影簡介: 《怦然心動》是由羅伯·萊納執(zhí)導(dǎo)驻谆,根據(jù)文德琳·范·德拉安南的同名原著小說改編。 影片講述了朱莉和大樹的莫...
    烏龜說閱讀 2,950評論 0 2
  • 這個(gè)簡書我將不在用這個(gè)推薦直接在我的朋友圈里推薦庆聘,謝謝大家的關(guān)注
    eb50d8ec7ef0閱讀 610評論 0 4