翻開厚厚的《Java JDK8 學習筆記》,開始有一種無所適從的感覺。總感覺學習這門語言怎么這么復雜,為什么不能像學習C語言一樣直接學習相應的語法規則,多拿些程序例子練練手不就會了,為什么書本前面還講了這么多“無關”的內容。
其實不然,當我沉下心來耐着性子慢慢看完了“Chapter 1 Java平台概論”,明白了“磨刀不誤砍材工”的道理。第一章詳細地闡述了Java的由來以及發展,等一些專業名詞的介紹。使我一開始就有了個宏觀的印象,對Java有了個較為系統的了解。其中印象最深的就是,Java有三大平台,分別是Java SE、Java EE、Java ME,Java EE相對Java SE高級一些,Java ME主要是在小型數字設備上的開發,所以對於我們這樣的初學者來說,當然接觸的就是Java SE了,到現在Java已經發展到“Java SE 8”了。
再了解了平台之后,第一章節更為重要的便是對JVM/JRE/JDK三者的認識。我就根據學習理解簡單說一說這三者的關系,JVM就是Java虛擬機的意思,.class文件才能跑起來,不然系統是無法直接運行的。本書中也反復強調了其重要性,強調“JVM是Java程序唯一認識的操作系統,其可執行文件為.class文檔”這一重要觀念。JRE指的則是Java的運行環境,也就是Java程序要執行,總要有個適合它的環境吧,就像C語言一樣,同樣也需要環境,不可能簡簡單單自己就執行起來了。JDK則包含了一些Java語言開發工具,要開發Java程序就一定要裝JDK。
總之,JVM是讀取Java程序的必要,JRE提供了運行Java程序的環境,JDK提供了Java程序的開發工具。由此,可以發現這三者是包含關系,JDK囊括了JRE,JRE中也有JVM。而Java的跨平台性就體現在Java有不同版本的JDK,可以適用於Windows、Linux、Max等不同操作系統,Java的程序是不變的,只需要改變相應的JDK,就可以在任何平台上開發運行Java程序。
以上就是我學了第一章的一些收獲吧,大致分清楚了這些名詞的含義關系,應該對后續學習會有一定的幫助。
跟着書本的內容,在相應的網站上下載了最新的“jdk1.8.0_72”,安裝好后,就是設置環境變量。環境變量的設置是為了更加方便的Java程序的編譯,設置環境變量“PATH”后可以直接在命令提示符里調用“Javac”這一命令了,這個命令是對.Java文件的編譯,在同一個目錄下生成.class文件,最后通過“Java”命令來運行.class文件,有點像VC6里面的編譯、運行一樣,只不過這些都是在命令提示符里面完成的。開始有點看不懂書上的截圖,不知道是怎么鍵入這個命令的,不知道界面中那些“目錄地址”是怎么變化的,為此專門查了一些常用的命令“cd\”、“cd..”、“dir”等等,確實對理解書中的內容有一定幫助。下圖是設置好的PATH環境變量。
接下來便跟着課本開始了我第一個程序“Hello World”。照着書中的代碼敲了一下“Hello World”的代碼如下圖。
大致明白了程序的含義,class表示是一個類,HelloWorld是這個類的名稱,因為class前帶有public,所以HelloWorld還是一個公開類,一個.java文檔可以有多個類,但只能有一個公開類,當有公開類的時候,要保證.java的文檔名和公開類名稱一致。而“public static void main(String[] args)”則有點像C語言里的句子,而且main和C語言里也感覺差不多,都是程序的進入點。后面的一句大致能看得懂,就是要打印輸出“Hello World”這一串字符。大括號則代表區塊了,和C語言應該是一樣的。
敲完上述代碼,將記事本保存為.java格式到相應的目錄下。然后,調出命令提示符,先用“javac”命令對該.java文件進行編譯,生成.class文件,然后用命令“java”對相應的.class執行文件進行操作,並將結果輸出打印在屏幕上如下圖。
以上便是我用書上的方法編寫出了第一個Java小程序,雖然感覺這種方法有點麻煩,但是設置好環境變量后也沒感覺太繁瑣,反而讓我理解到了與C語言不同之處,C語言都是在相應的編譯軟件里面先敲代碼,然后點編譯點運行,就自動出結果了,而這個則是通過命令提示符,每一步的執行都需要你在這個黑色的對話框里面下達“指令”才能完成,體會到了不一樣的編程過程。