一文回顧 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 2021jdk8

JDK下載與安裝

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,如果能出現類似下圖信息,就說明配置成功了。

然後依次輸入命令javacjava -version命令,如果沒有報錯信息就是ok的,其中後一個命令是查看你的 jdk 版本號的,如果時間長了忘記當時安裝的哪個版本jdk,就可以通過此命令來查看。

IDEA下載安裝

下載地址:https://www.jetbrains.com/idea/download/#section=windows

小編這裏選擇的Ultimate版本64位,一般下載的時候機會智能識別當前的電腦系統,小編下載的 exe 文件,還有 zip 格式的,可自行嘗試哈。

安裝就簡單了,幾乎都是一路next即可。這裏建議大家不要把軟件都習慣性的安裝在C盤,這樣C盤會越來越大,最後導致電腦很卡。

這裏建議大家修改一下編輯區域的字體大小顯示方法分割線。後者當你的方法比較多的時候,不容易區分方法的開始與結尾,尤其是在全部摺疊方法的時候。

File-->Settings,然後參照下圖修改即可:

File-->Settings,然後參照下圖修改即可:

除了這兩個最最基本設置外,其他根據個人偏好調整到自己使用起來最舒服即可。

Hello World詳解

這一部分網絡上很多作者都把它放在了後面去講解,因爲涉及到的東西稍微多一點,這裏指的是名詞,這對於新手來說,理解起來是有困難的,但小編仔細琢磨了下,在一開始講解其實也完全沒有問題,聽一聽總是有好處的,最起碼心裏有個低了。

編寫第一個 Java 程序

新建第一個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中叫修飾限定符,初次之外還有privateprotecteddefault(默認不寫就是這個),其作用分別是對類文件或者類文中的方法進行訪問權限限定,通過下圖便一目瞭然:
  • 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開頭,包括09的數字,以及字母af,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,會分享與java相關的內容,並且以原創爲主,歡迎大家搜索關注(關注即送小編挑選的精品視頻教程),一起學Java!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章