01-Java基礎(chǔ)語(yǔ)法
?day01_Java基礎(chǔ)
一、課程目標(biāo)
1. 【了解】Java語(yǔ)言發(fā)展史 ? ? ? ? ? ? ? ? ? ? ? ? ? 2. 【理解】Java語(yǔ)言平臺(tái)版本 3. 【理解】Java語(yǔ)言特點(diǎn) 4. 【理解】JRE與JDK 5. 【掌握】Java開(kāi)發(fā)環(huán)境搭建 6. 【掌握】第一個(gè)Java程序 7. 【掌握】注釋 8. 【理解】關(guān)鍵字/標(biāo)識(shí)符
二、Java語(yǔ)言概述
2.1 Java語(yǔ)言發(fā)展史
Java之父:詹姆斯·高斯林(James Gosling)

1977年獲得了加拿大卡爾加里大學(xué)計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,1983年獲得了美國(guó)卡內(nèi)基梅隆大學(xué)計(jì)算機(jī)科學(xué)博士學(xué)位,畢業(yè)后到IBM工作,設(shè)計(jì)IBM第一代工作站NeWS系統(tǒng),但不受重視。后來(lái)轉(zhuǎn)至Sun公司,1990年,與Patrick,Naughton和Mike Sheridan等人合作“綠色計(jì)劃”,后來(lái)發(fā)展一套語(yǔ)言叫做“Oak”,后改名為Java。

2.2 Java語(yǔ)言平臺(tái)版本
JavaSE(Java Platform Standard Edition)標(biāo)準(zhǔn)版
是為開(kāi)發(fā)普通桌面和商務(wù)應(yīng)用程序提供的解決方案 該技術(shù)體系是其他,可以完成一些桌面應(yīng)用程序的開(kāi)發(fā)兩者的基礎(chǔ)
JavaME(Java Platform Micro Edition)小型版
是為開(kāi)發(fā)電子消費(fèi)產(chǎn)品和嵌入式設(shè)備提供的解決方案,已經(jīng)被安卓 IOS
JavaEE(Java Platform Enterprise Edition)企業(yè)版
是為開(kāi)發(fā)企業(yè)環(huán)境下的應(yīng)用程序提供的一套解決方案
2.3 Java語(yǔ)言特點(diǎn)
簡(jiǎn)單性 面向?qū)ο?/strong> 分布式 可移植性(跨平臺(tái)) 多線程 動(dòng)態(tài)性 健壯性 安全性 開(kāi)源
2.4 Java跨平臺(tái)
2.4.1 什么是平臺(tái)
通過(guò)Java語(yǔ)言編寫(xiě)的應(yīng)用程序在不同的系統(tǒng)平臺(tái)上都可以運(yùn)行
2.4.2 跨平臺(tái)的原理
只要在需要運(yùn)行java應(yīng)用程序的操作系統(tǒng)上,先安裝一個(gè)Java虛擬機(jī)(JVM Java Virtual Machine)即 可。由JVM來(lái)負(fù)責(zé)Java程序在該系統(tǒng)中的運(yùn)行。
2.4.3 圖解

2.4.4 總結(jié)
因?yàn)橛辛薐VM,所以同一個(gè)Java程序在三個(gè)不同的操作系統(tǒng)中都可以執(zhí)行。這樣就實(shí)現(xiàn)了Java程序的可移植性。也稱為Java具有良好的跨平臺(tái)性。
2.5 JDK、JRE、JVM
JDK(Java Development Kit Java開(kāi)發(fā)工具包)
JDK是提供給Java開(kāi)發(fā)人員使用的,其中包含了java的開(kāi)發(fā)工具,也包括了JRE。所以安裝了JDK,就不用在單獨(dú)安裝JRE了。 其中的開(kāi)發(fā)工具:編譯工具(javac.exe) 執(zhí)行工具(java.exe) 打包工具(jar.exe)等JRE(Java Runtime Environment Java運(yùn)行環(huán)境)
包括Java虛擬機(jī)(JVM Java Virtual Machine)和Java程序所需的核心類庫(kù)等,如果想要運(yùn)行一個(gè)開(kāi)發(fā)好的Java程序,計(jì)算機(jī)中只需要安裝JRE即可。JVM(Java Virtual Machine Java虛擬機(jī))
整個(gè)java實(shí)現(xiàn)跨平臺(tái)的最核心的部分,保證程序的跨平臺(tái)性,以及編譯執(zhí)行寫(xiě)好的java程序!總結(jié)
使用JDK開(kāi)發(fā)完成的java程序,交給JRE去運(yùn)行。由jvm保證跨平臺(tái)性。
JDK、JRE、JVM 之間的關(guān)系

總結(jié)
JDK 包含JRE JRE包含JVM ,開(kāi)發(fā)中我們只需要安裝JDK即可!
2.6 JDK的下載安裝
2.6.1 下載JDK
通過(guò)官方網(wǎng)站獲取JDK
注意:針對(duì)不同的操作系統(tǒng),需要下載對(duì)應(yīng)版本的JDK
2.6.2 安裝JDK
傻瓜式安裝,下一步即可。但默認(rèn)的安裝路徑是在C:\Program Files下,為方便統(tǒng)一管理建議修改安裝路徑,將與 開(kāi)發(fā)相關(guān)的軟件都安裝到一個(gè)目錄下,例如:E:\develop。 注意:安裝路徑不要包含中文或者空格等特殊字符(使用純英文目錄)。
三、DOS命令
3.1 為什么學(xué)習(xí)DOS命令
在接觸集成開(kāi)發(fā)環(huán)境之前,我們需要使用命令行窗口對(duì)java程序進(jìn)行編譯和運(yùn)行,所以需要知道一些常用DOS命 令。也為以后學(xué)習(xí)Linux等其他內(nèi)容做一些準(zhǔn)備!
3.2 如何打開(kāi)DOS命令窗口
打開(kāi)命令行窗口的方式:
win + r 打開(kāi)運(yùn)行窗口,輸入cmd,回車。
點(diǎn)擊win窗口圖標(biāo),輸入cmd,選擇命令提示符
3.3 常用的DOS命令
操作 說(shuō)明 盤(pán)符名稱: E:回車,表示切換到E盤(pán)。 dir 查看當(dāng)前路徑下的內(nèi)容。 cd 目錄 進(jìn)入單級(jí)目錄。cd JavaSE cd.. 回退到上一級(jí)目錄。 cd 目錄1\目錄2... 進(jìn)入多級(jí)目錄。cd JavaSE\baiyunshan cd\或cd/ 回退到盤(pán)符目錄。 cls 清屏。 exit 退出命令提示符窗口。
四、環(huán)境搭建
4.1 配置開(kāi)發(fā)環(huán)境
4.1.1 為什么配置環(huán)境變量
開(kāi)發(fā)Java程序,需要使用JDK提供的開(kāi)發(fā)工具(比如javac.exe、java.exe等命令),而這些工具在JDK的安裝目錄的 bin目錄下,如果不配置環(huán)境變量,那么這些命令只可以在該目錄下執(zhí)行。我們不可能把所有的java文件都放到JDK 的bin目錄下,所以配置環(huán)境變量的作用就是可以使bin目錄下的java相關(guān)命令可以在任意目錄下使用。
4.1.2 配置步驟
首先右鍵【此電腦】---> 選擇【屬性】---> 點(diǎn)擊左側(cè)的【高級(jí)系統(tǒng)設(shè)置】 ---> 點(diǎn)擊【環(huán)境變量】---> 在下方的【系統(tǒng)變量】中點(diǎn)擊【新建】

新建變量名為【JAVA_HOME】,變量值我們點(diǎn)擊【瀏覽目錄】,選擇jdk的安裝路徑j(luò)dk1.8.0_121文件夾 然后點(diǎn)擊【確定】
找到path路徑中寫(xiě) %JAVA_HOME%\bin; ,放在最前面,不要忘了加英文的分號(hào)

4.2 測(cè)試開(kāi)發(fā)環(huán)境
通過(guò)javac和java命令驗(yàn)證 注意 :如果提示 javac不是內(nèi)部或者外部命令,原因是path配置錯(cuò)誤, 重新按照上一步的步驟進(jìn)行配置即可!
避免C:\WINDOWS\system32出現(xiàn)所有名字以java開(kāi)頭的文件,有,刪之;
注意 :jdk不要安裝在帶中文的路徑下,最好也是不包含空格字符的英文路徑;

?

五、HelloWorld案例
5.1 Java程序開(kāi)發(fā)運(yùn)行流程
開(kāi)發(fā)Java程序,需要三個(gè)步驟:編寫(xiě)源程序,編譯程序,運(yùn)行程序

5.2 編寫(xiě)HelloWorld程序
新建文本文檔文件,修改名稱為HelloWorld.java
用記事本打開(kāi)HelloWorld.java文件,輸寫(xiě)程序內(nèi)容
public class HelloWorld { ? ?public static void main(String[] args) { ? ? ? ?System.out.println("HelloWorld"); ? ?} }HelloWorld案例的編譯和運(yùn)行
編譯:javac 文件名.java 范例:javac HelloWorld.java //////////////////////////////////////////////////////////////////// 執(zhí)行:java 類名 范例:java HelloWorld
5.3 HelloWorld常見(jiàn)問(wèn)題
大小寫(xiě)問(wèn)題。Java語(yǔ)言對(duì)大小寫(xiě)敏感(區(qū)分大小寫(xiě))
非法字符問(wèn)題。Java中的符號(hào)都是英文格式的
在系統(tǒng)中顯示文件的擴(kuò)展名,避免出現(xiàn)HelloWorld.java.txt文件
編譯命令后的java文件名需要帶文件后綴.java
運(yùn)行命令后的class文件名(類名)不帶文件后綴.class
5.4 Notepad++軟件的安裝和使用
5.4.1 為什么要使用Notepad++軟件
Notepad++功能比windows中的自帶記事本功能強(qiáng)大,除了可以用來(lái)制作一般的純文字說(shuō)明文件,也十分適合編寫(xiě)計(jì)算機(jī)程序代碼。Notepad++有行號(hào),能夠快速定位問(wèn)題位置,還有語(yǔ)法高亮度顯示、代碼折疊等功能。而且它是免費(fèi)的。
5.4.2 Notepad++軟件安裝
安裝:傻瓜式安裝,一直下一步即可。建議也安裝到統(tǒng)一的開(kāi)發(fā)軟件目錄下,比如E:\develop。 具體安裝步驟請(qǐng)參見(jiàn)《Nodepad++軟件安裝及配置說(shuō)明》文檔。
5.4.3 Notepad++軟件配置
安裝完畢之后,為了使用方便,做一個(gè)簡(jiǎn)單的配置:修改默認(rèn)語(yǔ)言和編碼。 具體配置的說(shuō)明請(qǐng)參見(jiàn)《Nodepad++軟件安裝及配置說(shuō)明》文檔。
六、Java基礎(chǔ)語(yǔ)法
6.1 注釋
6.1.1 什么是注釋
注釋是對(duì)代碼的解釋和說(shuō)明文字,可以提高程序的可讀性,因此在程序中添加必要的注釋文字十分重要
6.1.2 注釋的分類
單行注釋
單行注釋的格式是使用//,從//開(kāi)始至本行結(jié)尾的文字將作為注釋文字
// 這是單行注釋文字多行注釋
多行注釋的格式是使用/* 和 */將一段較長(zhǎng)的注釋括起來(lái)
/* 這是多行注釋文字 這是多行注釋文字 這是多行注釋文字 */ // 注意:多行注釋不能嵌套使用。文檔注釋
文檔注釋以
/**
開(kāi)始,以*/
結(jié)束
/** ? 這是文檔注釋的內(nèi)容 */
6.2 關(guān)鍵字
6.2.1 什么是關(guān)鍵字
關(guān)鍵字是指被java語(yǔ)言賦予了特殊含義的單詞
6.2.2 關(guān)鍵字的特點(diǎn)
關(guān)鍵字的字母全部小寫(xiě)。
常用的代碼編輯器對(duì)關(guān)鍵字都有高亮顯示,比如現(xiàn)在我們能看到的public、class、static等。
6.3 常量
6.3.1 什么是常量
在程序運(yùn)行過(guò)程中,其值不可以發(fā)生改變的量。
6.3.2 Java中常量的分類
字符串常量
用雙引號(hào)括起來(lái)的多個(gè)字符(可以包含0個(gè)、一個(gè)或多個(gè)),例如"a"、"abc"、"中國(guó)"等
整數(shù)常量
整數(shù),例如:-10、0、88等
小數(shù)常量
小數(shù),例如:-5.5、1.0、88.88等
字符常量
用單引號(hào)括起來(lái)的一個(gè)字符,例如:'a'、'5'、'B'、'中'等
布爾常量
布爾值,表示真假,只有兩個(gè)值true和false
空常量
一個(gè)特殊的值,空值,值為null
6.3.3 常量演示
除空常量外,其他常量均可使用輸出語(yǔ)句直接輸出
/* 常量的分類: 字符串常量 ?"123" "abc" 整數(shù)常量: 100 1 -1 -100 小數(shù)常量: 1.1 1.2 -1.1 -1.2 字符常量: 'a' '1' '你' 字符'' 有且僅有一個(gè)字符 布爾常量: true ?false 空常量: null */ public class Demo01{ public static void main(String[] args){ // 字符串常量 ?"123" "abc" System.out.println("abc"); // 整數(shù)常量 System.out.println(100); System.out.println(-100); //小數(shù)常量 System.out.println(1.1); System.out.println(-1.1); // 字符常量 System.out.println('a'); System.out.println('你'); // System.out.println(''); System.out.println(' '); // 布爾常量: true ?false System.out.println(true); System.out.println(false); // null是不能直接打印,有特殊應(yīng)用的,在后面的數(shù)組 ?集合 對(duì)象中使用 // System.out.println(null); } }
6.4 數(shù)據(jù)類型
6.4.1 計(jì)算機(jī)存儲(chǔ)單元
我們知道計(jì)算機(jī)是可以用來(lái)存儲(chǔ)數(shù)據(jù)的,但是無(wú)論是內(nèi)存還是硬盤(pán),計(jì)算機(jī)存儲(chǔ)設(shè)備的最小信息單元叫“位(bit)”,我們又稱之為“比特位”,通常用小寫(xiě)的字母”b”表示。而計(jì)算機(jī)中最基本的存儲(chǔ)單元叫“字節(jié)(byte)”, 通常用大寫(xiě)字母”B”表示,字節(jié)是由連續(xù)的8個(gè)位組成。
6.4.2 存儲(chǔ)單位換算
除了字節(jié)外還有一些常用的存儲(chǔ)單位,其換算單位如下
1B(字節(jié)) = 8bit 1KB = 1024B 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 1PB = 1024TB 1EB = 1024PB
6.4.3 Java中的數(shù)據(jù)類型
為什么有數(shù)據(jù)類型
Java是一個(gè)強(qiáng)類型語(yǔ)言,對(duì)每一種數(shù)據(jù)都規(guī)定了范圍.
數(shù)據(jù)類型的分類

基本數(shù)據(jù)類型

注意
e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負(fù)45次方。
在java中整數(shù)默認(rèn)是int類型,浮點(diǎn)數(shù)默認(rèn)是double類型
6.5 變量
6.5.1 什么是變量
在程序運(yùn)行過(guò)程中,其值可以在一定范圍內(nèi)發(fā)生改變的量,從本質(zhì)上講,變量是內(nèi)存中的一小塊區(qū)域,其值可以在一定范圍內(nèi)變化
6.5.2 變量定義的格式
格式一
數(shù)據(jù)類型 變量名 = 初始化值; // 聲明變量并賦值
int age = 18; System.out.println(age);格式二
// 先聲明,后賦值(使用前賦值即可) 數(shù)據(jù)類型 變量名; 變量名 = 初始化值;
double money; money = 55.5; System.out.println(money);格式三
在同一行定義多個(gè)同一種數(shù)據(jù)類型的變量,中間使用逗號(hào)隔開(kāi)
數(shù)據(jù)類型 變量名 = 值,變量名 = 值, ....;
int a = 10, b = 20; // 定義int類型的變量a和b,中間使用逗號(hào)隔開(kāi) System.out.println(a); System.out.println(b); int c,d; // 聲明int類型的變量c和d,中間使用逗號(hào)隔開(kāi) c = 30; d = 40; System.out.println(c); System.out.println(d);
6.5.3 變量注意事項(xiàng)
1. 在同一對(duì)花括號(hào)中,變量名不能重復(fù)。 2. 變量在使用之前,必須初始化(賦值)。 3. 定義long類型的變量時(shí),需要在整數(shù)的后面加L(大小寫(xiě)均可,建議大寫(xiě))。因?yàn)檎麛?shù)默認(rèn)是int類型,整數(shù)太大可能超出int范圍。 4. 定義float類型的變量時(shí),需要在小數(shù)的后面加F(大小寫(xiě)均可,建議大寫(xiě))。因?yàn)楦↑c(diǎn)數(shù)的默認(rèn)類型是double, double的取值范圍是大于float的,類型不兼容。
6.6 標(biāo)識(shí)符
6.6.1 什么是標(biāo)識(shí)符
標(biāo)識(shí)符是用戶編程時(shí)使用的名字,用于給類、方法、變量、常量等命名。
6.6.2 標(biāo)識(shí)符的組成規(guī)則
由字母、數(shù)字、下劃線“_”、美元符號(hào)“$”組成,第一個(gè)字符不能是數(shù)字。 ?不能使用java中的關(guān)鍵字作為標(biāo)識(shí)符。 ?標(biāo)識(shí)符對(duì)大小寫(xiě)敏感(區(qū)分大小寫(xiě))。
6.6.3 標(biāo)識(shí)符的命名規(guī)范(江湖規(guī)矩)
類名
一個(gè)單詞: 首字母大寫(xiě) Hello 多個(gè)單詞: 每一個(gè)單詞的首字母都要大寫(xiě) HelloWorld (大駝峰)
變量名和方法
一個(gè)單詞: 全部小寫(xiě) value get()
多個(gè)單詞: 從第二個(gè)單詞的首字母開(kāi)始,每一個(gè)單詞都要大寫(xiě) maxValue getValue() (小駝峰)
包
一個(gè)單詞: 全部小寫(xiě) cn com
多個(gè)單詞: 全部小寫(xiě)中間用
.
分割 com.itfxp公司的域名倒著寫(xiě)
www.baidu.com-->com.baidu.xxx
自定義常量
一個(gè)單詞: 全部大寫(xiě) MAX VALUE
多個(gè)單詞: 全部大寫(xiě) 中間用 _ 隔開(kāi) MAX_VALUE