Java概述
衆所周知Java是一門編程語言,編程語言就是用來編寫軟件的。那麼使用Java到底能用來編寫什麼軟件呢?你所熟知的很多軟件都可以用Java來編寫,例如:QQ、迅雷、淘寶、京東等等,那麼Java比較擅長什麼呢?也就是說我們將來從事Java開發工程師工作到底要編寫什麼類型的軟件呢?
答案是:
- 互聯網:電商、P2P等等;
- 企業級應用:ERP、CRM、BOS、OA等等。
Java簡史
- 1991年 Green項目,開發語言最初命名爲Oak (橡樹)
- 1994年,開發組意識到Oak 非常適合於互聯網
- 1996年,發佈JDK 1.0,約8.3萬個網頁應用Java技術來製作
- 1997年,發佈JDK 1.1,JavaOne會議召開,創當時全球同類會議規模之最
- 1998年,發佈JDK 1.2,同年發佈企業平臺J2EE
- 1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技術誕生
- 2004年,發佈里程碑式版本:JDK 1.5,爲突出此版本的重要性,更名爲JDK 5.0
- 2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME
- 2009年,Oracle公司收購SUN,交易價格74億美元
- 2011年,發佈JDK 7.0
- 2014年,發佈JDK 8.0,是繼JDK 5.0以來變化最大的版本
- 2017年,發佈JDK 9.0,最大限度實現模塊化
- 2018年3月,發佈JDK 10.0,版本號也稱爲18.3
- 2018年9月,發佈JDK 11.0,版本號也稱爲18.9
Java語言的特點
特點一:面向對象
- 兩個基本概念:類、對象
- 三大特性:封裝、繼承、多態
特點二:健壯性
- 吸收了C/C++語言的優點,但去掉了其影響程序健壯性的部分(如指針、內存的申請與 釋放等),提供了一個相對安全的內存管理和訪問機制
特點三:跨平臺性
- 跨平臺性:通過Java語言編寫的應用程序在不同的系統平臺上都可以運行。“Write once , Run Anywhere” 原理:只要在需要運行 java 應用程序的操作系統上,先安裝一個Java虛擬機 (JVM Java Virtual Machine) 即可。由JVM來負責Java程序在該系統中的運行。
Java語言的特點:跨平臺性
因爲有了JVM,同一個Java 程序在三個不同的操作系統中都可以執行。這樣就實現了Java 程序的跨平臺性。
Java兩種核心機制
- Java虛擬機 (Java Virtal Machine)
- 垃圾收集機制 (Garbage Collection)
核心機制—Java虛擬機
- JVM是一個虛擬的計算機,具有指令集並使用不同的存儲區域。負責執行指 令,管理數據、內存、寄存器。
- 對於不同的平臺,有不同的虛擬機。
- 只有某平臺提供了對應的java虛擬機,java程序纔可在此平臺運行
- Java虛擬機機制屏蔽了底層運行平臺的差別,實現了“一次編譯,到處運行”
核心機制—垃圾回收
- 不再使用的內存空間應回收—— 垃圾回收。
- 在C/C++等語言中,由程序員負責回收無用內存。 Java 語言消除了程序員回收無用內存空間的責任:它提供一種系統級線程跟蹤存儲空
- 間的分配情況。並在JVM空閒時,檢查並釋放那些可被釋放的存儲空間。
- 垃圾回收在Java程序運行過程中自動進行,程序員無法精確控制和干預。 Java程序還會出現內存泄漏和內存溢出問題嗎?Yes!
下面我們就按照如下圖譜來學習Java語言
常用DOS命令
編寫源文件後就需要開始編譯操作了,但在Windows操作系統中編譯、運行都需要了解常用DOS命令,DOS命令是在DOS控制檯中使用的命令,彈出DOS控制檯的方法是:win+R,然後輸出cmd。
我們學習一下Java中要用到的常用DOS命令,內容如下:
清屏:cls
- 當DOS控制檯內容過多時,可以使用清屏命令,等同與“擦黑板”;例如:C:\ >cls,然後按回車鍵。
切換盤符::
- 默認情況下我們是在C盤中,如果想去其他盤符可以使用該命令;例如:C:\ >E:,然後按回車鍵就到了E盤下。
進入指定目錄:cd
- 當我們想進入某個目錄時可以使用該命令;例如:D:\>cd develop,這樣就進入了D:\develop目錄,當然你需要保證這個目錄是存在的;
返回上一級目錄:cd..
- 當你需要返回到上一級目錄時可以使用該命令;例如:D:\develop\Java>cd..,然後按回車,就會返回到D:\develop目錄下。
返回盤符根目錄:cd\
- 當需要返回到當前盤符根目錄下可以使用該命令;例如:D:\develop\Java>cd\,然後按回車,這樣就返回到D:/目錄下了。
顯示當前目錄下的文件和子目錄信息:dir
- 當需要查看當前目錄下所有文件和子目錄信息時可以使用該命令;
Java語言的環境搭建
環境搭建步驟一:安裝JDK
- 在開始學習Java編程之前,我們首先需要安裝Java開發環境(JDK:Java開發工具包 Java Development Kit)。你可能會問:“我們爲什麼要安裝JDK呢”,其實任何事物都需要有他的最基本的生存環境,就像人類也需要最基本的生存環境(天、地、水、……)。開發Java程序也不能例外,它也需要最基本的“生存環境”,就是Java開發環境(JDK)。具體安裝什麼時候版本的JDK ,以開發需求爲準。安裝過程,建議百度。
環境搭建步驟二:配置JDK的環境變量
- 作用:爲了開發方便,我們想在任意的目錄下都可以使用JDK的開發工具,則必須要配置環境變量,配置環境變量的意義 在於告訴操作系統,我們使用的JDK開發工具在哪個目錄下。安裝過程,建議百度。
JDK丶JRE丶JVM三者的關係
- JVM(Java Virtual Machine ):Java虛擬機,簡稱JVM,是運行所有Java程序的假想計算機,是Java程序的 運行環境,是Java 最具吸引力的特性之一。我們編寫的Java代碼,都運行在 JVM 之上。
- JRE (Java Runtime Environment) :是Java程序的運行時環境,包含 JVM 和運行時所需要的 核心類庫 。我們想要運行一個已有的Java程序,那麼只需安裝 JRE 即可。
- JDK (Java Development Kit):是Java程序開發工具包,包含 JRE 和開發人員使用的工具。我們想要開發一個全新的Java程序,那麼必須安裝 JDK 。其中的開發工具:編譯工具(javac.exe) 打包工具(jar.exe)等
Hello World案例
Java應用程序的編寫流程如下圖所示
Java程序開發三步驟:編寫、編譯、運行。
- 源文件:編寫Java源文件(我們也稱之爲源代碼文件),它的擴展名爲.java;
- 編譯:然後通過編譯器把源文件編譯成字節碼文件,字節碼文件擴展名爲.class;
- 運行:最後使用解釋器來運行字節碼文件。
源代碼編寫:創建HelloWorld.java文件
- Java源代碼編寫只需要使用最普通的文本編輯器編寫即可,我們可以在空白處點擊鼠標右鍵來新建文本文檔來創建文本文件。然後修改文件名稱爲HelloWorld.java,注意文件名稱的大小寫。以及是否已經修改了文件的擴展名。鍵入如下代碼:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello world");
}
}
編譯源代碼文件
- 有了java源文件,通過編譯器將其編譯成JVM可以識別的字節碼文件。 在該源文件目錄下,通過javac編譯工具對Test.java文件進行編譯。 如果程序沒有錯誤,沒有任何提示,但在當前目錄下會出現一個HelloWorld.class文 件,該文件稱爲字節碼文件,也是可以執行的java的程序。
運行字節碼文件
- 有了可執行的java程序(HelloWorld.class字節碼文件) ,通過運行工具java.exe對字節碼文件進行執行。
- 學習編程最容易犯的錯是語法錯誤。Java要求你必須按照語法規則編寫代碼。如果你的程序違反了語法規則,例如:忘記了分號、大括號、引號,或者拼 錯了單詞,java編譯器都會報語法錯誤。嘗試着去看懂編譯器會報告的錯誤 信息。
注 釋(comment)
程序註釋:
- 通常我們需要在源代碼中添加文字用來對進行代碼解釋說明,但這些文字並不是Java代碼的語法,會導致編譯出錯。這時我們可以使用註釋來完成這一事項!在編譯時,編譯器會忽略註釋的存在,就好像註釋內容不存在一樣。所以註釋並不會導致編譯出錯,同時註釋還方便編寫者和其他人閱讀源代碼,加強對代碼的理解。
Java中的註釋類型:
- 單行註釋 格式: //註釋文字
- 多行註釋 格式: /* 註釋文字 */
- 文檔註釋 (java特有) 格式:/**註釋文字 */
注意事項:
- 其中文檔註釋與多行註釋作用基本相同,唯一的區別是文檔註釋可以使用javadoc.exe命令生成API文檔。
- 多行註釋裏面不允許有多行註釋嵌套。
下面我們用註釋來讓我們剛纔寫的HelloWorld 案例可讀性更高
/*
* 多行註釋
* 1.定義一個類 class
* 2.編寫程序執行的入口方法,main主方法
* 3.通過輸出語句System.out.println()將信息”HelloWorld!”打印在控制檯上
*/
/**
* 文檔註釋
* @author Administrator
*
*/
// 單行註釋:定義一個類 class
class HelloWorld {
// 單行註釋:編寫程序執行的入口方法,main主方法
public static void main(String[] args) {
//單行註釋: 通過Java提供的輸出語句, 將信息”HelloWorld!”打印在控制檯上
System.out.println("HelloWorld!");
}
}
建議大家今後在編寫代碼時先寫思路、分析、步驟,然後再寫代碼。其中思路、分析、步驟都使用註釋放在源代碼中。
關鍵字與標識符
關鍵字(keyword)
- 定義:被Java語言賦予了特殊含義,用做專門用途的字符串(單詞)
- 特點:關鍵字中所有字母都爲小寫
- Java 對各種變量、方法和類等要素命名時使用的字符序列稱爲標識符
- 技巧:可以理解爲凡是自己可以起名字的地方都叫標識符。
定義合法標識符規則:
- 由26個英文字母大小寫,0-9 ,_或 $ 組成
- 數字不可以開頭。
- 不可以使用關鍵字和保留字,但能包含關鍵字和保留字。
- Java中嚴格區分大小寫,長度無限制。
- 標識符不能包含空格。
- 包名:多單詞組成時所有字母都小寫:xxxyyyzzz
- 類名、接口名:多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz
- 變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz
- 常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接:XXX_YYY_ZZZ
- 在起名字時,爲了提高閱讀性,要儘量有意義,“見名知意”。
- java採用unicode字符集,因此標識符也可以使用漢字聲明,但是不建議使用。
小結Hello World案例
- Java源文件以“java”爲擴展名。源文件的基本組成部分是類(class),如 本例中的HelloWorld類。
- Java應用程序的執行入口是main()方法。它有固定的書寫格式: public static void main(String[] args) {...}
- Java語言嚴格區分大小寫。
- Java方法由一條條語句構成,每個語句以“;”結束。
- 大括號都是成對出現的,缺一不可。
- 一個源文件中最多只能有一個public類。其它類的個數不限,如果源文件包含 一個public類,則文件名必須按該類名命名。