Java入門相關知識
一、Java帝國的誕生
1.C&C++
- 1972年C誕生
- 貼近硬體,執行極快,效率很高
- 可開發作業系統,編譯器,資料庫,網路系統等
- 指標和記憶體管理(操作過程複雜繁重)
- 不同系統間可移植性差。
- 1982年C++誕生
- 添加了面向物件的過程
- 相容C
- 在圖形與遊戲領域發揮作用
2.反抗
- 我們要建立一個新的語言
- 語法有點像C
- 沒有指標
- 沒有記憶體管理
- 真正的可移植性,編寫一次,到處執行
- 面向物件
- 型別安全
- 高質量的類庫
- ......
3.Java初生
- 1995年的網頁簡單而粗糙,缺乏互動性
- Java展示了圖形介面的程式(Applet)
- 無數程式設計師加入Java
- 比爾蓋茨說:這是迄今為止設計最好的語言!
- Java 2 標準版(J2SE):佔領桌面端
- Java 2 移動版(J2ME):佔領手機端
- Java 2 企業版(J2EE):佔領伺服器
- 大量巨頭加入
4.Java發展
- 程式設計師們基於Java開發了巨多的平臺、系統、工具
- 2006:Hadoop(大資料領域)
- 2008:Android(手機端)
- Java帝國誕生
二、Java的特性和優勢
- 簡單性
- 面向物件
- 可移植性(Write once run anywhere)
- 高效能
- 分散式
- 動態性(反射機制)
- 多執行緒
- 安全性
- 健壯性
三、Java三大版本
- JavaSE:標準版(桌面程式,控制檯開發..)
- JavaME:嵌入式開發(手機、小家電..)
- JavaEE:E企業級開發(web端、伺服器開發..)
四、JDK、JRE、JVM
- JDK:Java Development Kit(Java開發者工具,包含JRE)
- JRE:Java Runtime Environment(Java執行時環境)
- JVM:JAVA Virtual Machine(Java虛擬機器)
五、安裝開發環境
1.JDK下載與安裝
-
搜尋JDK8,找到下載地址
-
同意協議,點選合適版本下載
-
註冊並登入Oracle賬號
-
雙擊安裝
-
將安裝目錄設定為易於尋找的目錄下,並記住安裝路徑
-
配置環境變數
-
檔案—>此電腦—>右鍵—>屬性—>高階系統設定
-
點選環境變數配置JAVA_HOME變數
-
在系統變數中新建JAVA_HOME
-
在新建中將變數名設定為”JAVA_HOME“,將變數值設定為JDK的安裝路徑
-
點選確定,完成JAVA_HOME配置
-
-
配置path變數
-
在系統變數中,雙擊path,新建兩個目錄,分別為“%JAVA_HOME%\bin”和“%JAVA_HOME%\jre\bin”
-
點選確定,完成配置
-
-
測試JDK是否安裝成功
- 在cmd中輸入“java -version”回車,若出現java1.8,則說明環境搭建成功
-
2.下載notepad++
3.JDK解除安裝
-
檔案—>此電腦—>右鍵—>屬性—>高階設定—>環境變數
-
在系統變數中雙擊“JAVA_HOME”,獲得它的安裝目錄(變數值)
-
根據路徑找到jdk檔案,刪除該檔案
-
在系統變數中刪除“JAVA_HOME”
-
在系統變數中雙擊path,在編輯環境變數頁面,刪除與“JAVA_HOME”相關的檔案(兩個)
-
點選確定
-
開啟cmd,輸入“java -version”回車,若輸出如下,則解除安裝成功
六、HelloWorld
-
新建一個java檔案,edit with notepad++
-
編寫程式碼,並儲存
public class HelloWorld{
public static void main(String[] args){
System.out.print("Hello world!");
}
}
-
在java檔案路徑前輸入cmd+空格+回車,進入cmd
-
輸入“javac HelloWorld.java”,編譯檔案,會生成一個class檔案
-
輸入“java HelloWorld”,執行class檔案
可能會出現的問題:
每個單詞的大小寫不能出現問題,Java對大小寫敏感
儘量使用和輸出英文(有些控制檯輸出中文會亂碼)
檔名和類名必須保持一致
符號為英文狀態
建立java檔案時,檔名中不要包含空格,cmd會因識別錯誤而導致找不到該檔案。例如,我建立名為“Hello World”的”.java“檔案,在cmd中編譯該檔案時,cmd會將該檔案識別為”World.java“檔案,之後報錯,正確檔名因改為”HelloWorld“
七、Java程式執行機制
程式執行過程中,分為編譯型語言和解釋型語言兩種
- 編譯型語言
對於編譯型語言,開發完成以後需要將所有的原始碼都轉換成可執行程式,比如 Windows 下的
.exe
檔案,可執行程式裡面包含的就是機器碼。只要我們擁有可執行程式,就可以隨時執行,不用再重新編譯了,也就是“一次編譯,無限次執行”。
- 解釋型語言
對於解釋型語言,每次執行程式都需要一邊轉換一邊執行,用到哪些原始碼就將哪些原始碼轉換成機器碼,用不到的不進行任何處理。每次執行程式時可能使用不同的功能,這個時候需要轉換的原始碼也不一樣。
更多關於編譯型語言與解釋型語言的區別與聯絡,請參考C語言中文網