1 Java概述
??Java是一門編程語言坪创,編程語言就是用來編寫軟件的承绸。那么使用Java到底能用來編寫什么軟件呢枯怖?你所熟知的很多軟件都可以用Java來編寫蜕琴,例如:QQ萍桌、迅雷、淘寶凌简、京東等等上炎,那么Java比較擅長(zhǎng)什么呢?
答案是:Java擅長(zhǎng)互聯(lián)網(wǎng)應(yīng)用程序的開發(fā)
??1. 互聯(lián)網(wǎng):電商雏搂、P2P等等
??2. 企業(yè)級(jí)應(yīng)用:ERP藕施、CRM、BOS凸郑、OA等等
??互聯(lián)網(wǎng)類軟件大家都比較熟悉裳食,因?yàn)榇蠹疑疃伎梢越佑|得到。而企業(yè)級(jí)應(yīng)用都是為大型企業(yè)量身定做的軟件芙沥,所以可能不太了解诲祸。
??學(xué)習(xí)Java的基礎(chǔ)知識(shí)尘盼,即JavaSE(標(biāo)準(zhǔn)版)部分。學(xué)習(xí)完JavaSE并不能開發(fā)大型項(xiàng)目烦绳。
??學(xué)習(xí)Java的高級(jí)知識(shí)以及整個(gè)Java生態(tài)圈卿捎,即JavaEE(企業(yè)版)部分。學(xué)習(xí)完JavaEE部分就可以開發(fā)各種大型項(xiàng)目了径密。
2 下載并安裝JDK
??JDK的全稱是JavaSE Development Kit午阵,即java開發(fā)工具包,是sun公司提供的一套用于開發(fā)java應(yīng)用程序的開發(fā)包享扔,它提供了編譯底桂、運(yùn)行java程序所需的各種工具和資源,包括java編譯器惧眠、java運(yùn)行時(shí)環(huán)境籽懦,以及常用的java類庫(kù)等。
??這是又設(shè)計(jì)到一個(gè)概念:JRE氛魁,全稱Java Runtime Environment 暮顺,java運(yùn)行時(shí)環(huán)境。它是運(yùn)行java程序的必須條件秀存。
??一般而言捶码,如果只是運(yùn)行java程序,可以只安裝JRE或链,無需安裝JDK惫恼。
2.1 JDK的下載
??官網(wǎng)下載JDK,或者使用下面的網(wǎng)址下載
??http://www.oracle.com/technetwork/java/archive-139210.html
??點(diǎn)擊Java SE 1.8進(jìn)入下載頁面澳盐。進(jìn)入下載頁面祈纯,點(diǎn)擊“Accent Lincense Agreement”接受協(xié)議。接受協(xié)議之后叼耙,既可以根據(jù)自己的系統(tǒng)的版本下載對(duì)應(yīng)的JDK腕窥。
2.2 JDK的安裝
??第一步:解壓下載好的JDK
??第二步:雙擊打開安裝文件,注意安裝與操作系統(tǒng)對(duì)應(yīng)版本旬蟋;在此我安裝的是64的JDK油昂。
??第三步:選擇頁面中的“下一步”,進(jìn)入安裝路徑選擇頁面倾贰。選擇安裝路徑時(shí)冕碟,注意:不要選擇帶中文及特殊符號(hào)的路徑,也盡量不要安裝到C盤匆浙。
??第四步:在第三步基礎(chǔ)上選擇“下一步”安寺,選擇是否安裝JRE,這里選擇安裝(當(dāng)然也可以不安裝首尼,開發(fā)中我們只裝jdk就行)挑庶。選擇好JRE的安裝路徑后點(diǎn)擊“下一步”言秸,直到JRE安裝成功。
??第五步:JDK和JRE安裝成功之后的目錄結(jié)構(gòu)如下圖示迎捺。
2.3 配置環(huán)境變量
??安裝完JDK后需要配置環(huán)境變量举畸,依次打開計(jì)算機(jī)→屬性→高級(jí)系統(tǒng)設(shè)置→高級(jí)→環(huán)境變量
系統(tǒng)變量→新建 JAVA_HOME 變量 。
變量值填寫jdk的安裝目錄(本人是 D:\Develop\Java\jdk1.7.0_80)
系統(tǒng)變量→path 變量→編輯
在變量值最后輸入(注意原來Path的變量值末尾有沒有;號(hào)凳枝,如果沒有抄沮,先輸入;號(hào)再輸入上面的代碼)
%JAVA_HOME%\bin;
%JAVA_HOME%\jre\bin;
系統(tǒng)變量→新建 CLASSPATH 變量
變量值填寫(注意最前面有一點(diǎn))
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
系統(tǒng)變量配置完畢
2.4 檢驗(yàn)是否配置成功
運(yùn)行cmd 輸入 java -version (java 和 -version 之間有空格)或者javac岖瑰,若如圖所示 顯示版本信息 則說明安裝和配置成功叛买。
2.3 JDK、JRE和JVM
??在安裝的過程中各位可能注意到了JRE這個(gè)名詞蹋订,下面我們來聊聊JDK和JRE的關(guān)系和區(qū)別
??JDK:它是Java開發(fā)運(yùn)行環(huán)境率挣,在程序員的電腦上當(dāng)然要安裝JDK;
??JRE:它是Java運(yùn)行環(huán)境露戒,如果你不需要開發(fā)只需要運(yùn)行Java程序椒功,那么你可以安裝JRE。例如程序員開發(fā)出的程序最終賣給了用戶玫锋,用戶不用開發(fā)蛾茉,只需要運(yùn)行程序,所以用戶在電腦上安裝JRE即可撩鹿。
JDK包含了JRE。
跨平臺(tái)特性
??1. 平臺(tái)指的是操作系統(tǒng) (Windows悦屏,Linux节沦,Mac)。
??2. Java程序可以在任意操作系統(tǒng)上運(yùn)行础爬,一次編寫到處運(yùn)行
??3. 實(shí)現(xiàn)跨平臺(tái)需要依賴Java的虛擬機(jī) JVM (Java Virtual Machine)
??虛擬機(jī)JVM包含在jre里面甫贯,所以安裝完JDK就完事了
3 Hello World案例
3.1 Java程序介紹
??在開始案例之前,我們需要了解一下Java應(yīng)用程序的編寫流程看蚜。
通過上圖我們可以了解到編寫的程序大致如下叫搁;
??1. 源文件:編寫Java源文件(我們也稱之為源代碼文件),它的擴(kuò)展名為.java供炎;
??2. 編譯:然后通過編譯器把源文件編譯成字節(jié)碼文件渴逻,字節(jié)碼文件擴(kuò)展名為.class;
??3. 運(yùn)行:最后使用解釋器來運(yùn)行字節(jié)碼文件音诫。
編譯和運(yùn)行操作需要使用DOS命令
3.2 源代碼編寫
3.2.1 創(chuàng)建HelloWorld.java文件
??Java源代碼編寫只需要使用最普通的文本編輯器編寫即可惨奕,例如Windows系統(tǒng)自帶的notepad,然后修改文件名稱為HelloWorld.java竭钝,注意文件名稱的大小寫梨撞。以及是否已經(jīng)修改了文件的擴(kuò)展名雹洗。
3.2.2 編寫源程序代碼
下面是完整的內(nèi)容:HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
??注意,在編寫源代碼時(shí)一定要注意大小寫卧波。Java語言是嚴(yán)格區(qū)分大小寫的时肿。
??下面對(duì)源代碼進(jìn)行解析,HelloWorld案例的源代碼一共分為三個(gè)部分港粱,分別是:類螃成、主方法,以及輸出語句啥容。
??類是最外層的部分锈颗,其中public class是必須要寫的命令,其中HelloWorld是類名稱咪惠,要求必須與源文件名稱相同击吱。因?yàn)槲覀兊脑次募Q為HelloWorld.java,所以類名稱必須是HelloWorld遥昧。類有一對(duì)大括號(hào)覆醇,類的內(nèi)容存放在這對(duì)大括號(hào)中。下面即定義類的語法炭臭。
public class HelloWorld {
}
??主方法是類的內(nèi)容永脓,所以主方法放到類的大括號(hào)中。主方法也有一對(duì)大括號(hào)鞋仍,用來存放主方法的內(nèi)容常摧。主方法是程序的入口點(diǎn),主方法就是一個(gè)固定模式威创。
public static void main(String[] args) {
}
??輸出語句是方法的內(nèi)容落午,所以輸出語句需要放到方法的大括號(hào)中。輸出語句也需要背下來肚豺。輸出語句最后有一對(duì)圓括號(hào)溃斋,在圓括號(hào)中有一語話用雙引號(hào)括起來:Hello World!。在程序運(yùn)行時(shí)會(huì)輸出它吸申。
System.out.println("HelloWorld!");
??到這里我們的源代碼就已經(jīng)編寫完畢了梗劫,還要再次提醒大家編寫源代碼時(shí)要注意大小寫。文件名稱和文件內(nèi)容都要注意大小寫截碴。
3.2.3 編譯源代碼文件
在命令行下面使用DOS命令來執(zhí)行
javac HelloWorld.java
編譯之后會(huì)在源文件同目錄下生成字節(jié)碼文件梳侨,字節(jié)碼文件的擴(kuò)展名為.class。
3.2.4 運(yùn)行字節(jié)碼文件
使用DOS命令來運(yùn)行
java HelloWorld
注意隐岛,在運(yùn)行HelloWorld.class文件時(shí)不能給出“.class”猫妙,切記!>郯肌割坠!
4 注釋齐帚、關(guān)鍵字與標(biāo)識(shí)符
4.1 程序注釋
??通常我們需要在源代碼中添加文字用來對(duì)進(jìn)行代碼解釋說明,但這些文字并不是Java代碼的語法彼哼,會(huì)導(dǎo)致編譯出錯(cuò)对妄。這時(shí)我們可以使用注釋來完成這一事項(xiàng)!
??在編譯時(shí)敢朱,編譯器會(huì)忽略注釋的存在剪菱,就好像注釋內(nèi)容不存在一樣。所以注釋并不會(huì)導(dǎo)致編譯出錯(cuò)拴签,同時(shí)注釋還方便編寫者和其他人閱讀源代碼孝常,加強(qiáng)對(duì)代碼的理解。
Java中提供了三種注釋方式蚓哩,分別是:
單行注釋
//注釋內(nèi)容
多行注釋
/*注釋內(nèi)容*/
文檔注釋
/**注釋內(nèi)容*/
??其中文檔注釋與多行注釋作用基本相同构灸,唯一的區(qū)別是文檔注釋可以使用javadoc.exe命令生成API文檔。
完整的HelloWorld.java
/*
* 實(shí)現(xiàn)步驟:
* 1.定義一個(gè)類 class
* 2.編寫程序執(zhí)行的入口方法岸梨,main主方法
* 3.通過輸出語句System.out.println()將信息”HelloWorld!”打印在控制臺(tái)上
*/
// 定義一個(gè)類 class
class HelloWorld {
// 編寫程序執(zhí)行的入口方法喜颁,main主方法
public static void main(String[] args) {
// 通過Java提供的輸出語句, 將信息”HelloWorld!”打印在控制臺(tái)上
System.out.println("HelloWorld!");
}
}
??建議在編寫代碼時(shí)先寫思路、分析曹阔、步驟半开,然后再寫代碼。其中思路赃份、分析寂拆、步驟都使用注釋放在源代碼中。
4.2 關(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)鍵字會(huì)不斷的出來。
4.3 標(biāo)識(shí)符
??什么是標(biāo)識(shí)符城侧。其實(shí)在Java程序中易遣,除了關(guān)鍵字以外基本上都是標(biāo)識(shí)符了。
??其實(shí)標(biāo)識(shí)符就是名稱的意思嫌佑,所有的名稱都統(tǒng)稱為標(biāo)識(shí)符豆茫。Java中經(jīng)常要定義類侨歉、方法、變量揩魂,在定義他們時(shí)總要給它們起名字幽邓,這些名字就是標(biāo)識(shí)符。
標(biāo)識(shí)符的規(guī)范如下火脉。
1.組成元素
英文字符: a-zA-Z
數(shù)字: 0-9
符號(hào): _與$
2.標(biāo)識(shí)符規(guī)則
數(shù)字不能開頭
不可以使用關(guān)鍵字
嚴(yán)格區(qū)分大小寫牵舵,不限制長(zhǎng)度起名時(shí),盡量達(dá)到見名知意
3.類和方法的定義推薦下面的寫法
類的名字:HelloWorld 每個(gè)單詞的首字母大寫
方法的名字:addStudent 首字母小寫倦挂,之后每個(gè)單詞的首字母大寫
5 常用數(shù)據(jù)類型
5.1 程序概述
??軟件是什么畸颅?其實(shí)軟件就是用來處理數(shù)據(jù)的程序》皆可以把軟件分為兩個(gè)部分没炒,一個(gè)部分是數(shù)據(jù);另一個(gè)部分是數(shù)據(jù)處理的邏輯肯骇。
程序 = 數(shù)據(jù) + 邏輯
??什么是數(shù)據(jù)窥浪?用電商來舉例,用戶就是數(shù)據(jù)笛丙,商品也是數(shù)據(jù)漾脂。那么什么是數(shù)據(jù)處理邏輯呢?購(gòu)買商品的流程就是數(shù)據(jù)處理邏輯了胚鸯。
??程序開發(fā)離不開數(shù)據(jù)骨稿,其實(shí)說白了程序就是用來處理數(shù)據(jù)的。在Java中我們要學(xué)習(xí)數(shù)據(jù)的類型及數(shù)據(jù)量姜钳。
??通常數(shù)據(jù)是會(huì)發(fā)生變化的坦冠,而數(shù)據(jù)的處理邏輯是不發(fā)生變化的。例如商品的數(shù)量種類是會(huì)變化的哥桥,用戶的數(shù)量也是會(huì)變化的辙浑,但購(gòu)買的流程通常不會(huì)變化。
5.2 數(shù)據(jù)類型
??在生活中數(shù)據(jù)是有類型的拟糕,例如人的姓名是字符串類型判呕,人的年齡是正整數(shù)類型。在Java中數(shù)據(jù)也是有類型的(任何數(shù)據(jù)必然會(huì)有類型)送滞,下面是Java中數(shù)據(jù)的類型:
??基本數(shù)據(jù)類型是Java語言中內(nèi)置的類型侠草,分別是整數(shù)類型、小數(shù)類型犁嗅、字符類型边涕、布爾類型。這四類基本類型是最簡(jiǎn)單、最基礎(chǔ)的類型功蜓。
??引用數(shù)據(jù)類型是強(qiáng)大的數(shù)據(jù)類型园爷,它是基于基本數(shù)據(jù)類型創(chuàng)建的。JavaSE中提供了一個(gè)超級(jí)類庫(kù)霞赫,類庫(kù)中包含了近萬種引用數(shù)據(jù)類型腮介。不過現(xiàn)在我們先要學(xué)習(xí)的是基本類型!
5.3 常量
??Java中的數(shù)據(jù)量分為常量和變量
??常量就是不變的數(shù)據(jù)量端衰,例如100就是常量叠洗,任何數(shù)據(jù)量都有其類型,那么100這個(gè)常量是什么類型呢旅东?回憶一下基本類型中有四類灭抑,分別是整數(shù)、小數(shù)(浮點(diǎn)數(shù))抵代、字符腾节、布爾。那么100是哪一類型呢荤牍?沒錯(cuò)案腺,就是整數(shù)常量!?党场劈榨!
整數(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', '家'
??字符必須使用’’ 包裹含长,并且其中只能且僅能包含一個(gè)字符靶衍。
字符串類型
??字符串String類型是一種引用類型,我們先了解作為常量類型的使用方式
??如“我愛Java”茎芋,“0123”,“”蜈出,“null”
??字符串必須使用“”包裹田弥,其中可以包含0~N個(gè)字符。
public class Const {
public static void main(String[] args) {
/*
* 常量的演示
* */
//整數(shù)類型
//10進(jìn)制
System.out.println(100);
System.out.println(12345);
//2進(jìn)制
System.out.println(0b10101000);
//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");
}
}
注:
1.布爾類型:true和false
2.字符類型使用單引號(hào) ' a' 字符串類型使用雙引號(hào) "abc"