windows系統當中顯示文件擴展名
java源文件要求擴展名必須為.java,不能使用其他擴展名,有些操作系統默認不顯示文件擴展名,大家可按照以下步驟,將文件的擴展名顯示出來(以win7系統為例):
圖1-10:打開桌面上的計算機,菜單欄上的“工具”
圖1-11:文件夾選項
圖1-12:點擊“查看”,把上圖紅框的對勾去掉
● 打開DOS命令窗口,使用快捷鍵:win + r,輸入cmd,回車。
● dir命令:查看當前目錄下所有的子文件或子目錄。
● cd命令:切換路徑,使用方法是:cd+目錄路徑,需要注意的是路徑包括相對路徑和絕對路徑,對于windows來說從硬盤的根路徑下開始的路徑都是絕對路徑,例如:C:\Program Files、C:\Program Files\Java等,所有的相對路徑都是從當前所在目錄作為起點開始查找的路徑。另外cd ..切換到上級目錄,cd \切換到根目錄。
圖1-13:cd命令使用辦法
● 切換盤符:直接輸入c:,或者d:,然后回車即可。切換盤符不需要cd命令。
● del命令:刪除文件或目錄,例如:del *.class,刪除當前目錄下所有的.class文件。
● ipconfig命令:查看IP地址等信息,查看更詳細的信息使用ipconfig /all。
● ping命令:查看兩臺計算機是否可以正常通信,例如:ping 192.168.1.100,正常情況下發送數據包和接收數據包數量相同并且沒有延遲的時候表示通信正常,ping 192.168.1.100 -t表示一直發送數據包和接收數據包,ping www.baidu.com可以查看電腦是否可以正常上網。
● shutdown命令:設置定時關機,例如:shutdown -s -t 7200表示2個小時之后自動關機。
● mkdir命令:創建目錄,例如:mkdir abc表示在“當前目錄”下新建abc目錄。
● cls命令:清屏。
● exit命令:退出DOS命令窗口。
這里安裝的EditPlus版本為:,雙擊之后,一直點擊下一步就可以了。
以下主要說一下對該工具的配置:取消自動備份、設置字體大小、設置縮進長度:
圖1-14:菜單欄“工具”,然后“首選項”
圖1-15:設置字體和取消自動備份
圖1-16:設置縮進長度
圖1-17:這里設置縮進長度為3
使用快捷鍵可以大大提高開發效率,從現在起你應該盡可能使用快捷鍵來代替鼠標,以下先列舉出通用的文本編輯快捷鍵。當然,如果大家想熟練掌握,還是需要后期不斷的使用:
● ctrl+c 復制
● ctrl+v 粘貼
● ctrl+x 剪切
● ctrl+s 保存
● ctrl+z 撤銷
● ctrl+y 重做
● ctrl+a 全選
● home 光標回到行首
● end 光標回到行尾
● ctrl + home 光標回到文章開始
● ctrl + end 光標回到文章末尾
● shift + home 或 end 選中一行
● 鼠標雙擊 (選中一個單詞)
● ctrl + shift + 右箭頭或左箭頭 (選中一個單詞)
● ctrl + f 查找
Java語言由Sun(Sun Microsystems)公司開發,2009年時被Oracle(甲骨文)公司收購,所以目前JDK需要從Oracle下載,Oracle官網地址是https://www.oracle.com,這里我們學習Java10版本,所以下載JDK10,具體下載過程如下圖所示:
圖1-18:選擇JavaSE
圖1-19:點擊“Download Java SE...”
圖1-20:點擊“DOWNLOAD”
圖1-21:選擇“Accept...”,然后選擇“windows”版
注意:JDK10要求windows操作系統必須是64bit的。下載完成之后,直接雙擊進行安裝,具體步驟如下所示:
圖1-22:點擊“下一步”
圖1-23:選擇JDK10的安裝目錄,點擊下一步
圖1-24:正在安裝JDK10
圖1-25:選擇JRE10的安裝目錄,點擊“下一步”
圖1-26:正在安裝JRE10
圖1-27:點擊關閉,安裝結束
JDK的bin目錄
圖1-28:java和javac命令的存放位置
javac.exe命令用來完成java程序的編譯,java.exe命令用來完成java程序的運行。
該程序大家目前不需要理解,照抄就行,包括大小寫以及標點符號,這只是一個測試Java環境的程序,后期學習的過程中會讓大家理解該程序的含義。首先新建文件,具體代碼如下所示:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("動力節點-口口相傳的Java黃埔軍校");
}
}
編譯HelloWorld程序
編譯java程序需要使用JDK bin目錄下的javac.exe命令,首先我們來看看這個命令是否可以在DOS命令窗口中使用,如下圖所示:
圖1-29:測試javac命令
根據以上測試結果,說明在“C:\Users\Administrator”目錄下javac命令是無法使用的,那么我們來切換到另外一個目錄“C:\Program Files\Java\jdk-9.0.4\bin”再來測試,如下圖所示:
圖1-30:切換到bin目錄下再次測試javac命令
根據測試結果可以得出:windows操作系統默認是從當前路徑下查找可執行命令文件的。但每一次使用javac命令的時候都需要切換到bin目錄下,顯然是很麻煩的,有什么比較方便的方法嗎?我們先來研究一下ipconfig命令是怎么執行的,如下圖所示:
圖1-31:測試ipconfig命令
ipconfig.exe文件實際上在“C:\Windows\System32”目錄下,如下圖所示:
圖1-32:ipconfig.exe在這里
ipconfig命令為什么在命令窗口可以直接執行而不需要切換到命令所在目錄呢?實際上是因為windows系統中的環境變量path在起作用。如下圖所示,windows操作系統有這樣的默認配置:
圖1-33:windows自帶的path環境變量配置
我們來做一個實驗,把上圖path環境變量當中的“C:\Windows\System32;”刪掉。怎么刪除呢?鼠標雙擊Path,將“C:\Windows\System32;”刪除,注意:System32路徑后面的半角分號也需要刪除,然后點擊確定。將所有的DOS命令窗口全部關閉(注意:修改了任何環境變量,DOS命令窗口都需要關閉之后重新打開,這樣新的環境變量才會生效),打開一個新的DOS命令窗口,測試ipconfig,如下圖所示:
圖1-34:測試ipconfig命令
根據以上測試,windows操作系統已經找不到ipconfig.exe文件了,接下來我們再重新恢復path環境變量的配置,配置環境變量path的步驟是這樣的:在電腦桌面圖標上點擊鼠標右鍵,繼續點擊
,在彈出的窗口上選擇
然后在彈出的
窗口上點擊
,此時會彈出以下窗口:
圖1-35:配置環境變量的窗口
在上圖的系統變量當中找到path環境變量,點擊“編輯”,將“C:\Windows\System32;”添加到path環境變量當中(注意:環境變量path當中有很多路徑,路徑和路徑之間必須使用半角的英文分號進行分隔),然后點擊確定,重新配置了環境變量需要關閉所有DOS命令窗口,打開一個新的DOS窗口測試ipconfig命令,如下圖所示:
圖1-36:測試ipconfig命令
根據以上講解,我們怎么讓javac命令可以使用呢?很簡單,我們只要把“C:\Program Files\Java\jdk-9.0.4\bin;”路徑配置到環境變量path當中即可,配置完成之后,再次測試javac命令,如下圖所示:
圖1-37:測試javac命令
在javac命令后面添加“-version”參數可以查看編譯器的版本,如下圖所示:
圖1-38:查看編譯器版本
到這里,大家應該掌握環境變量path的配置了吧?通過以上內容的學習,大家應該思考這樣一個問題:path環境變量是隸屬于java的嗎,它和java有關系嗎?答案是:path環境變量隸屬于windows操作系統,不屬于java范疇,是windows操作系統搜索某個命令文件的路徑依據。windows操作系統到底是如何搜索命令文件的呢?實際上它會先在當前路徑下找,找不到的時候會自動去環境變量path的路徑中查找,找到則執行該命令,找不到則在DOS窗口中提示錯誤信息。希望大家以后遇到類似的“在DOS命令窗口中輸入某個命令時出現找不到命令”這樣的問題都能夠獨立的解決。
通過以上的配置,javac命令已經可以使用了,那么它具體怎么使用才能編譯java程序呢,接下來我們詳細的講解一下javac命令的具體使用辦法。
javac命令的語法格式是:“javac java源文件路徑”,非常簡單,就是javac命令后面加上java源文件的路徑,當然,之前我們說過,路徑包括絕對路徑和相對路徑。也就是說javac后面的java源文件路徑可以是絕對的也可以是相對的,如下圖所示:
圖1-39:編譯之前
圖1-40:編譯之后(絕對路徑方式)
圖1-41:編譯之后(相對路徑方式)
我們把HelloWorld.java文件中的程序故意修改讓其出現錯誤,再次編譯,如下圖所示:
public class HelloWorld {
public static void main(Strin[] args) {//String修改為Strin
System.out.println("動力節點-口口相傳的Java黃埔軍校");
}
}
圖1-42:編譯器報錯測試
通過以上的測試,可以得出這樣的結論:java源代碼中存在語法錯誤,在編譯的時候編譯器會提示錯誤消息,并且不會生成class字節碼文件。在以后的學習過程當中,編譯的時候盡可能將錯誤信息記錄起來,并且給出該錯誤的解決方案,久而久之不斷積累,大家就會成為改錯高手。
小結:通過本小節的學習,每位同學都必須掌握path環境變量的作用,以及它是怎么配置的,還有怎么使用javac編譯java源程序。
運行java程序的前提是已經正常生成了class字節碼文件,本課程中生成的class文件是,我們稱HelloWorld為類名。那么怎么運行呢,這個時候就需要借助JDK bin目錄下的java.exe命令了,我們先來測試這個命令是否可以在DOS窗口中使用,如下圖所示:
圖1-43:測試java.exe是否可用
經過測試,我們看到java.exe命令是可以在DOS窗口中直接使用的,其實只要javac.exe可以使用,那么java.exe就一定可以使用,因為javac.exe和java.exe都在JDK的bin目錄下,之前的課程中這個目錄已經配置到環境變量path當中,所以這里java.exe肯定也是可以使用的。
那么java.exe具體怎么使用呢,語法是:“java 類名”,需要注意的是java命令后面是類名,而不是class文件的名字,也不是class文件的路徑,不能這樣寫java HelloWorld.class,也不能這樣寫java E:\course\JavaProjects\01-JavaSE\chapter01\HelloWorld.class,只能這樣寫:java HelloWorld,它的運行原理是:在命令窗口中輸入“java HelloWorld”回車之后,先啟動的是類加載器,類加載器從硬盤上查找HelloWorld.class字節碼文件,默認情況下類加載器只從當前路徑下查找,查找到之后則將HelloWorld.class文件加載到JVM并執行,如果沒有查找到則會出現錯誤信息(如果輸入的是“java A”那么類加載器會從硬盤上查找A.class字節碼文件,以此類推),如下圖所示:
圖1-44:運行HelloWorld類(正常)
由于默認情況下類加載器只從當前所在的路徑下加載字節碼文件,如果該字節碼文件不存在會提示什么錯誤信息呢?請看下圖:
圖1-45:運行A類(錯誤)
類加載器默認從當前路徑下加載,那么可以指定讓類加載器從指定的目錄下加載class文件嗎?答案是可以的,這個時候就需要借助classpath這個環境變量了(classpath環境變量隸屬于java語言,專門給類加載器指路的),接下來我們來設置一下classpath環境變量,此處把classpath設置為E:\,如下圖所示:
圖1-46:設置環境變量classpath
設置完成后關閉所有DOS窗口,重新開啟新窗口,接下來看下圖:
圖1-47:測試環境變量classpath
通過以上的測試得知,當環境變量classpath=E:\之后,chapter01目錄下雖然有HelloWorld.class,并且當前目錄就在chapter01下,但運行的時候卻出現了以上錯誤信息,可見類加載器不再從當前路徑下加載了。那我們把HelloWorld.class文件放到E:\目錄下呢?請看下圖:
圖1-48:測試環境變量classpath
通過以上的測試可以得出,當設置環境變量classpath=E:\的時候,類加載器只去E:\目錄下加載class文件了,不再從當前目錄下加載,也不會去其它目錄下加載。這樣對于以后的開發來說反而更麻煩了,因為每一次編譯生成的class文件都要放到E:\目錄下類加載器才能找到,所以目前來說classpath環境變量是不需要配置的,因為classpath在沒有配置的情況下,類加載器默認會從當前所在的目錄下加載class,也就是說以后要想運行class首先要將DOS窗口的目錄切換(cd命令)到class文件所在的位置,然后再運行。當然我們也可以把環境變量classpath配置為:classpath=.,因為.代表當前路徑。
小結:通過以上內容的學習,我們知道classpath環境變量不屬于windows操作系統,是java編程語言當中的一種機制,這種機制是專門為類加載器加載class文件時提供路徑依據的。最終的結論是classpath環境變量目前是不需要配置!當然,隨著后面內容的學習,大家會知道classpath環境變量總有一天是需要配置的,到那個時候大家可別忘了將“當前路徑.”配置到classpath當中,例如:classpath=.;path1;path2;,如果沒有把.配置到classpath當中,那么類加載器就不再從當前路徑下加載class了。到此為止大家必須掌握兩個重要環境變量,一個是windows操作系統的path環境變量,另一個是java語言的classpath環境變量。至于有些參考資料上還提到了JAVA_HOME等環境變量,其實這些環境變量對于我們目前來說是不需要配置的,以后用到的時候再說吧。