一文回顧 Java 入門知識(上)
Java前世今生
Java最早是由SUN公司(已被Oracle收購)的詹姆斯·高斯林(高司令,人稱Java之父)在上個世紀90年代初開發的一種編程語言,最初被命名為Oak,目標是針對小型家電設備的嵌入式應用,結果市場沒啥反響。誰料到互聯網的崛起,讓Oak重新煥發了生機,于是SUN公司改造了Oak,在1995年以Java的名稱正式發布,原因是Oak已經被人注冊了,因此SUN注冊了Java這個商標。隨著互聯網的高速發展,Java逐漸成為最重要的網絡編程語言。
Java介于編譯型語言和解釋型語言之間。 為了保證不同平臺、不同公司開發的虛擬機都能正確執行Java字節碼,SUN公司制定了一系列的Java虛擬機規范。從實踐的角度看,JVM的兼容性做得非常好,低版本的Java字節碼完全可以正常運行在高版本的JVM上。
隨著Java的發展,SUN給Java又分出了三個不同版本:
Java SE:Standard Edition
Java EE:Enterprise Edition
Java ME:Micro Edition
這三者之間有啥關系呢?
簡單來說,Java SE就是標準版,包含標準的JVM和標準庫,而Java EE是企業版,它只是在Java SE的基礎上加上了大量的API和庫,以便方便開發Web應用、數據庫、消息服務等,Java EE的應用使用的虛擬機和Java SE完全相同。
毫無疑問,Java SE是整個Java平臺的核心,而Java EE是進一步學習Web應用所必須的。我們熟悉的Spring等框架都是Java EE開源生態系統的一部分。
名詞解釋
JDK:即Java Development Kit(java開發工具包)
JRE:即Java Runtime Environment(Java運行環境,主要構成是運行Java字節碼文件的JVM,即Java Virtual Machine)
二者關系如下:
簡單地說,JRE就是運行Java字節碼的虛擬機。但是,如果只有Java源碼,要編譯成Java字節碼,就需要JDK,因為JDK除了包含JRE,還提供了編譯器、調試器等開發工具。
環境配置
學習任何一門編程語言,都有前輩們推薦的IDE或者官方的開發工具,還有運行環境的配置,這都是必須的。小編這里選擇的IDEA 2021和jdk8 。
1、下載
官網下載鏈接:https://www.oracle.com/java/technologies/javase-downloads.html
小編這里使用的 jdk8 版本,是目前使用較多較穩定的版本,推薦使用。如果自己無法下載的可以訪問這里提取哈:https://pan.baidu.com/s/1tb1AG-FBHpYRsw0Q5U9YLw 提取碼:3kwk
2、安裝
小編以 win10 系統為例,下載好后解壓即可,小編的是無需安裝版本。解壓的路徑需要注意:不要使用帶有中文的路徑 。此外,強烈建議:把自己電腦的盤符名稱和賬戶名都修改為英文,或者拼音,這樣就會避免一些奇怪的問題,雖然這些問題可能到后面安裝數據庫或者其他軟件才會出現,但是程序的世界是不認識漢字的。
3、配置環境
桌面此電腦,按照如下操作順序:鼠標右鍵–>屬性–>高級系統設置–>高級–>環境變量:
選擇環境變量后,我們可以看到如下界面,此時再選擇系統變量–>新建,此時將會彈出新建系統變量的對話框,在變量名處輸入JAVA_HOME,在變量值中輸入JDK的安裝路徑(小編的jdk就是解壓后的目錄),點擊確定。
我們還需要修改系統Path變量。在變量后增加如下兩條路徑:
%JAVA_HOME%\bin %JAVA_HOME%\jre\bin
新建/修改CLASSPATH變量
如果存在 CLASSPATH 變量,選中點擊 編輯。如果沒有,點擊 新建。
輸入/在已有的變量值后面添加:
變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
通過快捷鍵Win+R 并輸入cmd 調出命令行窗口
輸入java,如果能出現類似下圖信息,就說明配置成功了。
然后依次輸入命令javac、java -version命令,如果沒有報錯信息就是ok的,其中后一個命令是查看你的 jdk 版本號的,如果時間長了忘記當時安裝的哪個版本jdk,就可以通過此命令來查看。
-:https://www.jetbrains.com/idea/download/#section=windows
小編這里選擇的Ultimate版本64位,一般下載的時候機會智能識別當前的電腦系統,小編下載的 exe 文件,還有 zip 格式的,可自行嘗試哈。
安裝就簡單了,幾乎都是一路next即可。這里建議大家不要把軟件都習慣性的安裝在C盤,這樣C盤會越來越大,最后導致電腦很卡。
這里建議大家修改一下編輯區域的字體大小和顯示方法分割線。后者當你的方法比較多的時候,不容易區分方法的開始與結尾,尤其是在全部折疊方法的時候。
File–>Settings,然后參照下圖修改即可:
File–>Settings,然后參照下圖修改即可:
除了這兩個最最基本設置外,其他根據個人偏好調整到自己使用起來最舒服即可。
Hello World詳解
新建第一個java程序: File–>New–>Project(在這一步就可以看到我們安裝的jdk)–>Next–>Next–>會看到如下界面:
Project name 就是我們創建的工程名字,自己命名即可,推薦英文或者拼音。
Project location 我們創建的工程放在電腦的哪個地方,推薦不要使用帶有中文的路徑。
接著就是finish了,我們會看到如下界面:
這是系統默認提供的內容,前期我們主要的工作都是在src這個目錄下,下面以新建第一個 java 程序為例:
在src右鍵,依次選擇new–>Java Class–>輸入要新建的類名(類名的命名規則本文后面會講)–>回車即可。
比如小編這里輸入的類名是MainHello:
public class MainHello { }
這一步相當于一個java文件創建好了,但是沒有系統執行的函數入口,這個入口暫時可以理解為現實生活中某個場景的入口(比如:景點的門票入口),只不過Java文件的入口有且僅有一個,接下來我們就創建這個入口函數:
可以使用快捷輸入main+回車即可快速生成這個方法:
修改這個快捷輸入其實也很簡單,其實就是去掉了默認的智能提示限制(默認只有大寫的首字母,才會提示完整的系統類和關鍵字等)
生成后方法如下:
public class MainHello { public static void main(String[] args) { } }
這個時候就會看到綠色的運行按鈕出來了,這就是系統默認認識的入口,接下來我們所學習的內容都會在這里進行。小編首先在這里使用系統提供的輸出語句,輸出咱們熟悉的Hello World。
public class MainHello { public static void main(String[] args) { System.out.println("Hello World"); } }
然后點擊運行即可看到結果。
這里對Java程序的入口,也就是主函數進行簡單的解析,首先看下圖不同顏色標注的矩形
public 這個在java中叫修飾限定符,初次之外還有private、protected和default(默認不寫就是這個),其作用分別是對類文件或者類文中的方法進行訪問權限限定,通過下圖便一目了然:
class 是java語言中的關鍵字,除此之外,還有很多關鍵字以及保留字,后者就是系統暫時不用但是保留著,說不定后面會用到,但是開發者不能用,比如:goto。了解如下這些即可:
MainHello 就是我們定義的標識符,在Java語言中,標識符的命名是有規則的:
嚴格區分大小寫
不能以數字開頭
只能由字母、數字、下劃線、$其中一種或多種來組合完成
不能占用Java中的關鍵詞和保留字
要見名知意
命名方式,推薦駝峰命名法(不是必須,是推薦)
標識符作用于類名、方法名、變量、語句塊,是我們最最常用的。
main(String[] args) 就是java中的函數形式之一:帶一個參數的方法。java中所說的函數和方法,其實是指同一個東西。Java中的方法根據參數多少分兩種:無參數方法和有參數方法(參數的個數可以自定義),其中參數的類型也可以自定義的。
這里的main方法帶有一個字符串數組類型的參數,這里又出現一個新名詞:數組,在Java中數組根據維數不同可分為:一維數組和多維數組。
對數組的理解,可以簡單理解為一個箱子里面裝的臺球,每個球上有編號是數組的特征,這在Java語言里叫做索引,索引是從0開始的,比如共有10個球,那么索引就是0~9 。
小結
對Java程序的入口牽扯到的相關內容就介紹到這里,具體內容后面還會詳細講解。
數據類型
java語言中數據類型可以分為兩大類:基本數據類型和引用數據類型。通過下面這個導圖大家就很清楚了:
Java中有四種表示整數的形式:十進制(我們平時使用的就是)、二進制、八進制、十六進制。
二進制:以0b或0B開頭,包括0~1的數字。
十進制:包括0~9的數字。
八進制:以0開頭,包括0~7的數字。
十六進制:以0x或0X開頭,包括0~9的數字,以及字母a~f,A~F。
其他進制轉十進制
公式:系數 * 基數的權次冪相加 (系數指每個數字,基數指的是多少進制,權指的是從右到左從0開始,次冪就是乘方)
例如:計算 0x100 的十進制值:
0x100 = 1*16^2 + 0 * 16^1 + 0 * 16^0 = 16*16 = 256
十進制轉其他進制
公式:除基(基數,也就是要轉的進制)倒取余(余數)
例如:計算 60 的二進制:
變量
存在內存中
根據作用域分為:局部變量和全局變量
聲明規則:變量類型 變量名,比如:int stuAge
變量賦值符:=
變量使用規則:先聲明,再使用
變量默認值:基本數據類型有對應的默認值,引用類型默認值是null,布爾型默認值是false。
常量其實是變量的一種特例。常量用final來修飾,它的值是不會被二次改變的,一般使用大寫字母來定義。
總結
昨天看到一個關于編程的視頻挺有趣,推薦大家看下https://youtu.be/dU1xS07N-FA 。
相信學java都知道這么一句話:一次編譯,到處運行。那么它背后的原理是什么呢?
“Java 編譯器不會將所有類都編譯成一個機器代碼程序。相反,它會獨立編譯每個類,而且不是編譯成機器代碼,而是編譯成特殊的中間代碼(字節碼)。當程序啟動時,該字節碼被編譯成機器代碼。”
這就是為什么Java被廣泛應用于諸多行業中,而且被越來越多的開發者作為首選學習語言之一。
Java 數據結構
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。