一收恢、Java開發(fā)環(huán)境搭建
- Java概述
眾所周知Java是一門編程語言武学,編程語言就是用來編寫軟件的。那么使用Java到底能用來編寫什么軟件呢伦意?你所熟知的很多軟件都可以用Java來編寫火窒,例如:QQ、迅雷驮肉、淘寶熏矿、京東等等,那么Java比較擅長什么呢?也就是說我們將來從事Java開發(fā)工程師工作到底要編寫什么類型的軟件呢票编?
答案是:
1.互聯(lián)網(wǎng):電商褪储、P2P等等;
2.企業(yè)級應(yīng)用:ERP慧域、CRM鲤竹、BOS、OA等等昔榴。
互聯(lián)網(wǎng)類軟件大家都比較熟悉辛藻,因為大家生活都可以接觸得到。而企業(yè)級應(yīng)用都是為大型企業(yè)量身定做的軟件互订,用于工作中吱肌,所以大家可能不太了解。現(xiàn)在大家只需對Java開發(fā)工程師工作有個大致的了解即可屁奏。
在基礎(chǔ)班我們會學(xué)習(xí)Java的基礎(chǔ)知識岩榆,即JavaSE(標(biāo)準(zhǔn)版)部分。學(xué)習(xí)完JavaSE并不能開發(fā)大型項目坟瓢。
在就業(yè)班我們會學(xué)習(xí)Java的高級知識以及整個Java生態(tài)圈,即JavaEE(企業(yè)版)部分犹撒。學(xué)習(xí)完JavaEE部分就可以開發(fā)各種大型項目了折联。
- 常用DOS命令
編寫源文件后就需要開始編譯操作了,但在Windows操作系統(tǒng)中編譯识颊、運(yùn)行都需要了解常用DOS命令诚镰,所以下面我們來學(xué)習(xí)一下常用DOS命令(DOS命令是Windows操作系統(tǒng)包含的知識)。
DOS命令是在DOS控制臺中使用的命令祥款,彈出DOS控制臺的方法是:win+R清笨,然后輸出cmd,是不是看起來有點(diǎn)熟悉刃跛,沒錯抠艾,就是校驗JDK安裝是否成功是彈出的小黑屏。
2019-02-15_143737.png
DOS命令有很多桨昙,我們不需要學(xué)習(xí)所有DOS命令检号,只需要學(xué)習(xí)我們Java中要用到的常用DOS命令,內(nèi)容如下:
- 清屏:cls蛙酪;
當(dāng)DOS控制臺內(nèi)容過多時齐苛,可以使用清屏命令,等同與“擦黑板”桂塞;
例如:C:\ >cls凹蜂,然后按回車鍵。
- 切換盤符::;
默認(rèn)情況下我們是在C盤中玛痊,如果想去其他盤符可以使用該命令汰瘫;
例如:C:\ >E:,然后按回車鍵就到了E盤下卿啡。
- 進(jìn)入指定目錄:cd吟吝;
當(dāng)我們想進(jìn)入某個目錄時可以使用該命令;
例如:D:>cd develop颈娜,這樣就進(jìn)入了D:\develop目錄剑逃,當(dāng)然你需要保證這個目錄是存在的;
例如:D:>cd develop\Java官辽,這樣就進(jìn)入了D:\develop\Java目錄蛹磺。
- 返回上一級目錄:cd..;
當(dāng)你需要返回到上一級目錄時可以使用該命令同仆;
例如:D:\develop\Java>cd..萤捆,然后按回車,就會返回到D:\develop目錄下俗批。
- 返回盤符根目錄:cd\俗或;
當(dāng)需要返回到當(dāng)前盤符根目錄下可以使用該命令;
例如:D:\develop\Java>cd\岁忘,然后按回車辛慰,這樣就返回到D:/目錄下了。
- 顯示當(dāng)前目錄下的文件和子目錄信息:dir干像;
當(dāng)需要查看當(dāng)前目錄下所有文件和子目錄信息時可以使用該命令帅腌;
- 運(yùn)行應(yīng)用程序:程序完整名稱 參數(shù)
當(dāng)需要運(yùn)行某個應(yīng)用程序時可以使用該命令;
例如要運(yùn)行記事本程序時:D:>C:\windows\notepad.exe麻汰,這樣就打開了記事本程序速客,這與你到C:\windows目錄下雙擊該程序圖標(biāo)的效果相同,因為該程序支持雙擊運(yùn)行五鲫;
還可以省略“.exe”后綴溺职,例如:D:>C:\windows\notepad,效果同上臣镣;
- Java開發(fā)環(huán)境概述
- 在開始學(xué)習(xí)Java編程之前辅愿,我們首先需要安裝Java開發(fā)環(huán)境(JDK:Java開發(fā)工具包 Java Development Kit)。
- 你可能會問:“我們?yōu)槭裁匆惭bJDK呢”忆某,其實任何事物都需要有他的最基本的生存環(huán)境点待,就像人類也需要最基本的生存環(huán)境(天、地弃舒、水癞埠、空氣……)状原。開發(fā)Java程序也不能例外,它也需要最基本的“生存環(huán)境”苗踪,就是Java開發(fā)環(huán)境(JDK)颠区。
- 至于JDK中都包含了什么東西,現(xiàn)在還不是講解的時候通铲。我們現(xiàn)在的任務(wù)就是馬上把它下載毕莱、安裝,并校驗安裝是否成功颅夺。
- 我們課程中使用的JDK版本是JDK8朋截,當(dāng)前最新版本是JDK11。
- JDK下載&安裝&校驗
JDK的下載和安裝請各位嚴(yán)格按照《JDK下載安裝文檔0.doc》中的要求操作吧黄,如果沒有按照要求操作可能會引起意想不到的問題部服。這里就不再贅述!
下面我們來聊聊如何校驗JDK安裝是否成功的方法拗慨。你無需了解為什么要這么做廓八,只需要嚴(yán)格按照下面的步驟操作即可:
1.在鍵盤上按:WIN+R鍵,這時會彈出運(yùn)行窗口赵抢;
2.在運(yùn)行窗口中輸入:CMD剧蹂,按“確定”按鈕,這時會彈出DOS窗口烦却;
3.在DOS窗口中輸入:JDK安裝路徑\bin\java.exe国夜。
2019-02-15_145300.png
如果結(jié)果與圖片中相同,恭喜你短绸,安裝成功;否則安裝失敵镌!4妆铡!朝卒!下面給出最常見的安裝失敗樣例:
1.系統(tǒng)找不到指定的路徑:可能是因為JDK安裝路徑輸入錯誤证逻;
2.不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件:安裝失敗抗斤。
- JDK與JRE
在安裝的過程中各位可能注意到了JRE這個名詞囚企,下面我們來聊聊JDK和JRE的關(guān)系和區(qū)別。
- JDK:它是Java開發(fā)運(yùn)行環(huán)境瑞眼,在程序員的電腦上當(dāng)然要安裝JDK龙宏;
- JRE:Java Runtime Environment它是Java運(yùn)行環(huán)境,如果你不需要開發(fā)只需要運(yùn)行Java程序伤疙,那么你可以安裝JRE银酗。例如程序員開發(fā)出的程序最終賣給了用戶辆影,用戶不用開發(fā),只需要運(yùn)行程序黍特,所以用戶在電腦上安裝JRE即可蛙讥。
- JDK包含了JRE。
- 跨平臺特性
- 平臺指的是操作系統(tǒng) (Windows灭衷,Linux次慢,Mac)。
- Java程序可以在任意操作系統(tǒng)上運(yùn)行翔曲,一次編寫到處運(yùn)行
實現(xiàn)跨平臺需要依賴Java的虛擬機(jī) JVM (Java Virtual Machine)
2019-02-15_145530.png
二迫像、Hello World案例
- Java程序介紹
2019-02-15_145837.png
在開始案例之前,我們需要了解一下Java應(yīng)用程序的編寫流程部默。
通過上圖我們可以了解到編寫的程序大致如下侵蒙;
- 源文件:編寫Java源文件(我們也稱之為源代碼文件),它的擴(kuò)展名為.java傅蹂;
- 編譯:然后通過編譯器把源文件編譯成字節(jié)碼文件纷闺,字節(jié)碼文件擴(kuò)展名為.class;
- 運(yùn)行:最后使用解釋器來運(yùn)行字節(jié)碼文件
編譯和運(yùn)行操作需要使用DOS命令份蝴,所以在編寫源代碼文件之后犁功,我們要學(xué)習(xí)常用DOS命令,再去學(xué)習(xí)編譯和運(yùn)行婚夫。
- 源代碼編寫
- 創(chuàng)建HelloWorld.java文件
Java源代碼編寫只需要使用最普通的文本編輯器編寫即可浸卦,例如Windows系統(tǒng)自帶的notepad即可。如果你不知道什么是notepad案糙,那么你可以在空白處點(diǎn)擊鼠標(biāo)右鍵新建文本文檔來創(chuàng)建文本文件限嫌。
2019-02-15_150401.png然后修改文件名稱為HelloWorld.java,注意文件名稱的大小寫时捌。以及是否已經(jīng)修改了文件的擴(kuò)展名怒医。
2019-02-15_150504.png如果看不到文件后綴名,可通過窗口上方“查看”菜單中的“文件夾選擇”找到“查看”選項卡奢讨,在“查看選擇卡”的高級設(shè)置找到“隱藏已知文件類型的擴(kuò)展名”選項稚叹,去掉前面的勾,點(diǎn)擊“確定”即可顯示文件后綴名了拿诸。如下圖
2019-02-15_150610.png
- 編寫源程序代碼
下面是完整的內(nèi)容:HelloWorld.javapublic class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); } }
- 注意扒袖,大家在編寫源代碼時一定要注意大小寫∧堵耄總而言之季率,一模一樣就對了。
- 下面我們對源代碼進(jìn)行解析蟀伸,HelloWorld案例的源代碼一共分為三個部分蚀同,分別是:類缅刽、主方法,以及輸出語句蠢络。
- 類是最外層的部分衰猛,其中public class是必須要寫的命令,其中HelloWorld是類名稱刹孔,要求必須與源文件名稱相同啡省。因為我們的源文件名稱HelloWorld.java,所以類名稱必須是HelloWorld髓霞。類有一對大括號卦睹,類的內(nèi)容存放在這對大括號中。你可能會問什么是類方库,我的答案是先不要去管什么是類结序,現(xiàn)在你需要記下來下面的代碼,即定義類的語法纵潦。
public class HelloWorld { }
- 主方法是類的內(nèi)容徐鹤,所以主方法放到類的大括號中。現(xiàn)在我們不需要了解更多邀层,只需要把主方法的內(nèi)容背下來即可返敬。主方法也有一對大括號,用來存放主方法的內(nèi)容寥院。
public static void main(String[] args) { }
- 輸出語句是主方法的內(nèi)容劲赠,所以輸出語句需要放到主方法的大括號中。輸出語句也需要背下來秸谢。輸出語句最后有一對圓括號凛澎,在圓括號中有一語話用雙引號括起來:Hello World!。在程序運(yùn)行時會輸出它估蹄。
System.out.println("HelloWorld");
到這里我們的源代碼就已經(jīng)編寫完畢了预厌,還要再次提醒大家編寫源代碼時要注意大小寫。文件名稱和文件內(nèi)容都要注意大小寫元媚。
編譯源代碼文件
學(xué)習(xí)完DOS命令后我們就可以來學(xué)習(xí)編譯源代碼文件了。編譯操作需要使用編譯器來完成苗沧,在安裝JDK時已經(jīng)安裝了編譯器刊棕,它屬于JDK的一部分〈眩可以到JDK目錄下的bin目錄下找到它甥角,它的名稱為:javac.exe。
2019-02-15_151427.png
注意识樱,javac.exe并不支持雙擊運(yùn)行嗤无,所以必須使用DOS命令來運(yùn)行它震束。
下面我們來介紹一下使用編譯器來編譯Java源文件的格式:
格式:編譯器程序完整名稱 源文件完整名稱
讓我們來分析一下:
- 我的JDK安裝在D:\develop\Java\jdk1.7.0_72目錄,那么編譯器完整名稱為:D:\develop\Java\jdk1.7.0_72\bin\javac.exe当犯;
- 我的源文件存放在:
D:\java\HelloWorld.java垢村;編譯命令為:
D:\develop\Java\jdk1.7.0_72\bin\javac.exe D:\java\HelloWorld.java。
編譯之后會在源文件同目錄下生成字節(jié)碼文件嚎卫,字節(jié)碼文件的擴(kuò)展名為.class嘉栓。
2019-02-15_153434.png
請注意,在編譯時控制臺上不會有輸出拓诸,如果有輸出說明源代碼有錯誤侵佃,所以大家一旦編譯出錯,就要去查看源文件中是否存在錯誤奠支。
2019-02-15_153546.png
- 運(yùn)行字節(jié)碼文件
運(yùn)行字節(jié)碼文件需要使用java.exe命令馋辈,它與javac.exe在同一目錄下倍谜。與javac.exe相同迈螟,java.exe也不支持雙擊運(yùn)行井联,所以也必須要使用DOS命令來運(yùn)行烙常。運(yùn)行字節(jié)碼文件與編譯有點(diǎn)區(qū)別:
- 進(jìn)行字節(jié)碼文件所在目錄:即進(jìn)入D:\java目錄;
D:\develop\Java\jdk1.7.0_72\bin\java.exe HelloWord;
注意尺碰,在運(yùn)行HelloWorld.class文件時不能給出“.class”挣棕,切記!G浊拧洛心!
2019-02-15_154748.png
- 簡化編譯和運(yùn)行操作
- 我們發(fā)現(xiàn)每次程序編譯與運(yùn)行都要輸入D:\develop\Java\jdk1.7.0_72\bin后,才能使用javac.exe與java.exe题篷,這樣的方式很麻煩词身,那么,能否不輸入D:\develop\Java\jdk1.7.0_72\bin呢番枚?是可以的法严,通過配置Windows的PATH環(huán)境變量來完成损敷。
- PATH變量中保存著多個路徑,當(dāng)我們在DOS控制臺中使用的程序只給出程序名稱深啤,而沒有給出完整路徑時拗馒,那么Windows系統(tǒng)會到PATH變量保存的路徑中去查找程序。我們?nèi)绻选癉:\develop\Java\jdk1.7.0_72\bin”路徑保存到PATH變量中墓塌,那么在我們使用javac或java時瘟忱,Windows系統(tǒng)就會自動到“D:\develop\Java\jdk1.7.0_72\bin”路徑下查找javac和java了。
配置步驟:
鼠標(biāo)右鍵點(diǎn)擊計算機(jī) → 屬性 → 高級系統(tǒng)設(shè)置 → 點(diǎn)擊環(huán)境變量 → 找到系統(tǒng)變量中的PATH → 點(diǎn)擊編輯按鈕苫幢。
2019-02-15_155027.png將JDK安裝目錄\bin路徑(我的電腦上的D:\develop\Java\jdk1.7.0_72\bin)配置到PATH變量中访诱,用英文分號與其他變量隔開。
2019-02-15_155137.png注意:配置PATH后文件的訪問順序:先訪問當(dāng)前路徑韩肝,如果當(dāng)前路徑?jīng)]有該文件触菜,則再訪問PATH配置的路徑。
接下來我們測試一下:
1.把原有的HelloWorld.class刪除哀峻;
2.進(jìn)入HelloWorld.java所在目錄:
3.切換盤符到E盤:C:/>D:涡相;
4.進(jìn)入java目錄:D:/>cd java;
5.編譯:D:/java/>javac HelloWorld.java剩蟀;
6.運(yùn)行:D:/java/>java HelloWorld催蝗;
2019-02-15_155331.png
三、注釋育特、關(guān)鍵字與標(biāo)識符
- 程序注釋
- 通常我們需要在源代碼中添加文字用來對進(jìn)行代碼解釋說明丙号,但這些文字并不是Java代碼的語法,會導(dǎo)致編譯出錯缰冤。這時我們可以使用注釋來完成這一事項犬缨!
- 在編譯時,編譯器會忽略注釋的存在棉浸,就好像注釋內(nèi)容不存在一樣怀薛。所以注釋并不會導(dǎo)致編譯出錯,同時注釋還方便編寫者和其他人閱讀源代碼迷郑,加強(qiáng)對代碼的理解枝恋。
- Java中提供了三種注釋方式,分別是:
1.單行注釋
2.多行注釋
3.文檔注釋
其中文檔注釋與多行注釋作用基本相同嗡害,唯一的區(qū)別是文檔注釋可以使用javadoc.exe命令生成API文檔鼓择。在這里我們不對其進(jìn)行講解,等大家對API有一定了解后在學(xué)習(xí)文檔注釋生成API文檔的相關(guān)知識就漾!
HelloWorld.java/* * 實現(xiàn)步驟: * 1.定義一個類 class * 2.編寫程序執(zhí)行的入口方法,main主方法 * 3.通過輸出語句System.out.println()將信息”HelloWorld!”打印在控制臺上 */ // 定義一個類 class class HelloWorld { // 編寫程序執(zhí)行的入口方法念搬,main主方法 public static void main(String[] args) { // 通過Java提供的輸出語句, 將信息”HelloWorld!”打印在控制臺上 System.out.println("HelloWorld!"); } }
建議大家今后在編寫代碼時先寫思路抑堡、分析摆出、步驟,然后再寫代碼首妖。其中思路偎漫、分析、步驟都使用注釋放在源代碼中有缆。
- 關(guān)鍵字
- 關(guān)鍵字是被Java語言賦予特殊含義象踊,具有專門用途的單詞,比如之前接觸的class棚壁,public杯矩,static,void均為Java已經(jīng)預(yù)設(shè)好的袖外。你可以先把Java關(guān)鍵字理解為“命令”史隆!
Java中關(guān)鍵字均為小寫,下面是Java中所有關(guān)鍵字曼验,你不需要去背泌射,在今后的學(xué)習(xí)中重要的關(guān)鍵字會不斷的出來。
2019-02-15_160631.png
你可以嘗試看看HelloWorld案例中哪些是關(guān)鍵字鬓照,哪些不是熔酷!
- 標(biāo)識符
- 學(xué)習(xí)完了關(guān)鍵字下面我們來學(xué)習(xí)一下什么是標(biāo)識符。其實在Java程序中豺裆,除了關(guān)鍵字以外基本上都是標(biāo)識符了拒秘。
- 其實標(biāo)識符就是名稱的意思,所有的名稱都統(tǒng)稱為標(biāo)識符留储。Java中經(jīng)常要定義類翼抠、方法、變量(后面會學(xué)習(xí)到)获讳,在定義他們時總要給它們起名字阴颖,這些名字就是標(biāo)識符。
- 這里我們要學(xué)習(xí)的是如何起名字丐膝,你可能會說起名字還要學(xué)嗎量愧?答案是當(dāng)然要學(xué)了!我們要學(xué)習(xí)的就是標(biāo)識符的規(guī)范帅矗。
- 組成元素
1.英文字符: a-zA-Z
2.數(shù)字: 0-9
3.符號: _與$- 標(biāo)識符規(guī)則
1.數(shù)字不能開頭
2.不可以使用關(guān)鍵字
3.嚴(yán)格區(qū)分大小寫偎肃,不限制長度起名時,盡量達(dá)到見名知意
四浑此、數(shù)據(jù)
- 程序概述
- 軟件是什么累颂?其實軟件就是用來處理數(shù)據(jù)的程序。可以把軟件分為兩個部分紊馏,一個部分是“數(shù)據(jù)”料饥;另一個部分是“數(shù)據(jù)處理的邏輯”。
- 程序 = 數(shù)據(jù) + 邏輯
- 什么是數(shù)據(jù)朱监?用電商來舉例岸啡,用戶就是數(shù)據(jù),商品也是數(shù)據(jù)赫编。那么什么是數(shù)據(jù)處理邏輯呢巡蘸?購買商品的流程就是數(shù)據(jù)處理邏輯了。
- 程序開發(fā)離不開數(shù)據(jù)擂送,其實說白了程序就是用來處理數(shù)據(jù)的悦荒。在Java中我們要學(xué)習(xí)數(shù)據(jù)的類型及數(shù)據(jù)量。
- 通常數(shù)據(jù)是會發(fā)生變化的团甲,而數(shù)據(jù)的處理邏輯是不發(fā)生變化的逾冬。例如商品的數(shù)量種類是會變化的,用戶的數(shù)量也是會變化的躺苦,但購買的流程通常不會變化身腻。
- 數(shù)據(jù)類型
在生活中數(shù)據(jù)是有類型的,例如人的姓名是字符串類型匹厘,人的年齡是正整數(shù)類型嘀趟。在Java中數(shù)據(jù)也是有類型的(任0何數(shù)據(jù)必然會有類型),下面是Java中數(shù)據(jù)的類型:
2019-02-15_161359.png- 基本數(shù)據(jù)類型是Java語言中內(nèi)置的類型愈诚,分別是整數(shù)類型她按、小數(shù)類型、字符類型炕柔、布爾類型酌泰。這四類基本類型是最簡單、最基礎(chǔ)的類型匕累。
- 引用數(shù)據(jù)類型是強(qiáng)大的數(shù)據(jù)類型陵刹,它是基于基本數(shù)據(jù)類型創(chuàng)建的。JavaSE中提供了一個超級類庫欢嘿,類庫中包含了近萬種引用數(shù)據(jù)類型衰琐。不過現(xiàn)在我們先要學(xué)習(xí)的是基本類型!
- 常量
- java中的數(shù)據(jù)量分為常量和變量炼蹦,我們先來學(xué)習(xí)常量羡宙!
- 常量就是不變的數(shù)據(jù)量,例如100就是常量掐隐,任何數(shù)據(jù)量都有其類型狗热,那么100這個常量是什么類型呢?回憶一下基本類型中有四類,分別是整數(shù)匿刮、小數(shù)(浮點(diǎn)數(shù))指攒、字符、布爾僻焚。那么100是哪一類型呢?沒錯膝擂,就是整數(shù)常量B瞧 !架馋!
- 整數(shù)類型
?十進(jìn)制表示方式:正常數(shù)字 如 13狞山、25等
?二進(jìn)制表示方式:以0b(0B)開頭 如0b1011 、0B1001
?十六進(jìn)制表示方式:以0x(0X)開頭 數(shù)字以0-9及A-F組成 如0x23A2叉寂、0xa萍启、0x10
?八進(jìn)制表示方式:以0開頭 如01、07屏鳍、0721- 小數(shù)類型
?如1.0勘纯、-3.15、3.168等- 布爾類型
?true钓瞭、false- 字符類型
?如'a'驳遵,'A', '0', '家'
?字符必須使用’’ 包裹,并且其中只能且僅能包含一個字符山涡。- 字符串類型
?字符串String類型是一種引用類型堤结,我們先了解作為常量類型的使用方式
?如“我愛Java”,“0123”鸭丛,“”竞穷,“null”
?字符串必須使用“”包裹,其中可以包含0~N個字符鳞溉。
- 回顧HelloWorld案例瘾带,其中System.out.println(“Hello World!”)的圓括號中放的就是一個字符串。那么我們是否可以把圓括號中的字符串換成其他字符串呢穿挨?答案是可以的月弛!不只是可以換成其他字符串,還可以把圓括號中的字符串換成其他類型的常量科盛,例如:
/* * 常量的演示 */ public class Const { public static void main(String[] args) { //整數(shù)類型 //10進(jìn)制 System.out.println(100); System.out.println(12345); System.out.println( 10 ); //2進(jìn)制 System.out.println( 0b1010 ); //8進(jìn)制 System.out.println( 012 ); //16進(jìn)制 System.out.println(0xA); //小數(shù)類型 System.out.println(3.15); //字符類型 System.out.println('a'); System.out.println('A'); System.out.println('0'); System.out.println('家'); //布爾類型 System.out.println(true); System.out.println(false); //字符串類型 System.out.println("我愛Java"); System.out.println("0123"); } }