Java 第一課 變量與概述
第一課 變量與概述
01.01java簡(jiǎn)述
01.02 JAVA? 語(yǔ)言發(fā)展史和平臺(tái)概述
1.java語(yǔ)言平臺(tái)分為三部分包括 J2SE? J2ME? J2EE
J2EE更高級(jí)? 做服務(wù)器開發(fā)
J2SE適用于普通桌面程序以及低級(jí)開發(fā)
J2EE? 電子消費(fèi)產(chǎn)品? 例如計(jì)算器之類? 但是已經(jīng)被安卓替代
01.03 JAVA? 語(yǔ)言跨平臺(tái)原理? ? ? 什么是跨平臺(tái)呢睡蟋?
1. 平臺(tái)? win? linux? mac
跨平臺(tái)
原理: 實(shí)現(xiàn)跨平臺(tái)需要依賴Java的 虛擬機(jī) JVM
三大平臺(tái)? 只需要相應(yīng)平臺(tái)虛擬機(jī)即可實(shí)現(xiàn)跨平臺(tái)原理
2.JRE和JDK
JRE是Java的運(yùn)行環(huán)境? JDK是Java的開發(fā)工具包
(JDK開發(fā)完成的Java程序交給JRE去運(yùn)行)
JDK包括JRE 所以下載JDK就不需要JRE了
01.04 常用的DOS命令
1.DOS命令首先需要控制臺(tái) 在 win系統(tǒng)中為win+r? 然后輸入cmd回車? (將會(huì)出現(xiàn)黑色窗口? 此窗口為DOS命令平臺(tái))
常用DOS命令
d:回車? 切換盤? 例如:C盤到D盤
dir(directory)目錄? 列出當(dāng)前網(wǎng)盤的所有文件
cd(change directory)改變當(dāng)前目錄? 指進(jìn)入指定目錄
進(jìn)入:? cd+目錄 或者? cd+多級(jí)目錄名稱
后退:? cd..? 后退一級(jí)目錄? cd\? 退后到當(dāng)前所在網(wǎng)盤
cls? (clear? screen)? 清屏
exit? 退出
01.05? JDK的下載及安裝
下載地址 http:/www.oracle.com
針對(duì)不同系統(tǒng)下載不同版本
疑問? 依照J(rèn)DK下載安裝文檔.doc? 進(jìn)行練習(xí)迁客?
建議64位
01.06? helloworld? 案例的編寫和運(yùn)行
首先 定義一個(gè)類(public class)? 然后添加一個(gè)大括號(hào)在括號(hào)內(nèi)添加主(main)方法后者函數(shù)
—public static void main(string[]args)
例
public? class? HelloWorld {
public static void main (string[]args)? ?
system.out.println(“HelloWorld”)
}
在DOS命令中使.java文件變?yōu)?class文件(javac+文件名.java)
然后在DOS命令中執(zhí)行語(yǔ)句 即java+class文件名不加后綴 完成!
01.07 HelloWorld? 案例中的常見問題
字母大小寫問題
非法字符問題
01.08 notepad++ 的安裝和配置
目的是列出敲了幾排碼
便于后期篩查錯(cuò)誤
01.09? path? 環(huán)境變量
程序的編譯和執(zhí)行都要在javac和java命令下實(shí)行
環(huán)境變量的目的就是使得程序在任意目錄下都能進(jìn)行訪問
創(chuàng)建一個(gè)新的變量名稱: JAVA_HOME
過程:計(jì)算機(jī)-右鍵屬性-高級(jí)系統(tǒng)設(shè)置-高級(jí)-環(huán)境變量-系統(tǒng)變量
在此變量名稱中添加變量值:JDK安裝目錄
在path環(huán)境變量最前面添加
%JAVA_HOME%\bin(你的文件所在地)
% 是 引用
當(dāng)你的環(huán)境變量添加完成之后重新開啟DOS命令窗口才能生效
01.10 注釋的概述和分類
單行注釋//說明
多行注釋 /*說明*/
注釋:用于解釋說明程序的文字
作用:解釋說明程序 提高程序的閱讀性
01.11 關(guān)鍵字
關(guān)鍵字:被java語(yǔ)言賦予特定含義的單詞
特點(diǎn):1. 組成關(guān)鍵字的字母全部小寫
2.常見的代碼編輯器對(duì)關(guān)鍵字有特殊的顏色標(biāo)記
(不用死記硬背 在后面學(xué)習(xí)的過程中會(huì)不斷使用并且記琢蹇丁)
01.12 常量
常量:在程序的執(zhí)行過程中其值不可以發(fā)生改變的量
常量分類:1.字符串 常量“HelloWorld”
2.小數(shù)常量
3.整數(shù)常量 12扎谎, 23 藕施,-23......
4.字符常量? ‘a(chǎn)’? ‘0’
5.布爾常量 true? false? (boolean)
6.空常量 null? (后面講)
01.13 變量
變量:? 是內(nèi)存中的一小塊區(qū)域? 在程序的執(zhí)行過程中 其值可以在一定范圍內(nèi)發(fā)生改變
組成:? 1:對(duì)區(qū)域要有限定
如何限定呢摩幔?? 使用數(shù)據(jù)類型進(jìn)行限定
3.必須對(duì)區(qū)域給一個(gè)名稱? 變量名
4.區(qū)域內(nèi)必須有內(nèi)容? 初始化值
定義格式:? 數(shù)據(jù)類型? 變量名=初始化值
01.14計(jì)算機(jī)的存儲(chǔ)單元
變量是內(nèi)存中的小容器? 用來存儲(chǔ)數(shù)據(jù)
計(jì)算機(jī)存儲(chǔ)設(shè)備的最小信息單元叫bit? (比特位)
通常用b表示
計(jì)算機(jī)最小的存儲(chǔ)單元叫字節(jié)(byte)通常用大寫字母B來表示? 字節(jié)是由連續(xù)的8個(gè)位組成的
1B=8bit? 1KB=1024B? 1MB=1024KB? 1GB=1024MB 1TB=1024GB
本節(jié)只需要知道計(jì)算機(jī)的最小存儲(chǔ)單元是字節(jié) 其他了解即可
01.15 數(shù)據(jù)類型
數(shù)據(jù)類型:java 是一種強(qiáng)類型語(yǔ)言 針對(duì)每一種數(shù)據(jù)都給出了明確的數(shù)據(jù)類型
數(shù)據(jù)類型分類? :1.基本數(shù)據(jù)類型
2.引用數(shù)據(jù)類型? ? (類,接口铐尚,數(shù)組)
基本數(shù)據(jù)類型:(4類8種)
? ? ? ? ? ? ? ? ? ? ? 占用字節(jié)數(shù)
1.整數(shù):byte? ? ? ? ? 1
? ? ? ? Short? ? ? ? 2
? ? ? ? Int? ? ? ? ? ? 4
? ? ? ? Long? ? ? ? ? 8
? ?
2.浮點(diǎn)數(shù):float? ? ? ? ? ? 4
? ? ? ? ? double? ? ? ? 8
3.字符:char? ? ? ? ? ? 2
4.布爾:boolean? ? ? ? ? 1
注意:1.整數(shù)默認(rèn)是int類型? 浮點(diǎn)數(shù)默認(rèn)為double類型
2.定義long類型數(shù)據(jù)的時(shí)候 要加L或者l 建議加l
3.定義float 類型數(shù)據(jù)的時(shí)候? 要加F后者f 建議加f
Long =1 l? ? ? folat =1.1 f
01.16 標(biāo)識(shí)符的組成和注意事項(xiàng)
標(biāo)識(shí)符: 就是用來給包拨脉,類,方法宣增,變量等起名字的符號(hào)
組成規(guī)則:1.unicode 字符:數(shù)字字符玫膀,英文大小寫字母,漢字(不建議使用漢字)
2.下劃線_? ? 3. 美元符 $
注意事項(xiàng):
1.不能以數(shù)字開頭
2.不能是Java中的關(guān)鍵字
例:int b2 = 10 爹脾;//正確
? ? Int 2b = 10 帖旨;//錯(cuò)誤
01.17標(biāo)識(shí)符的組成和注意事項(xiàng)
常見命名規(guī)則
1.包? (其實(shí)就是文件夾箕昭,用于對(duì)類進(jìn)行管理)
全部小寫,多級(jí)包用.隔開
舉例:com解阅, com落竹。Itheima
2.? 類
? ? ? 一個(gè)單詞首字母大寫
舉例:? Student , Car
? ? ? ? 多個(gè)單詞每個(gè)單詞的首字母大寫
舉例:? HelloWlord
3.? 方法和變量
一個(gè)單詞首字母小寫
? ? 多個(gè)單詞組成從第二個(gè)單詞開始每個(gè)單詞的首字母大寫
01.18? 基本數(shù)據(jù)類型變量的定義和使用
VariableDemo 變量演示
變量的定義格式:數(shù)據(jù)類型 變量名 = 初始化值
數(shù)據(jù)類型:byte货抄,int述召,short, long , float , double ,? char, boolean
注意:1.定義long類型變量的時(shí)候,最好直接在初始化值后加L
2.定義float類型變量的時(shí)候蟹地,最好直接在初始化值后加F
01.19 變量定義的注意事項(xiàng)
變量定義的注意事項(xiàng):
1.變量未賦值桨武,不能直接使用
2.變量只在它所屬的范圍內(nèi)有效
(變量屬于它所在的那對(duì)大括號(hào))
3.一行上可以定義多個(gè)變量 但是不建議
01.20? 類型轉(zhuǎn)換-隱性轉(zhuǎn)換
+ :加法運(yùn)算符
我們?cè)谧鲞\(yùn)算的時(shí)候,一般要求參與運(yùn)算的數(shù)據(jù)的類型必須一致
類型轉(zhuǎn)換: 隱式轉(zhuǎn)換? 強(qiáng)制轉(zhuǎn)換
隱式轉(zhuǎn)換: byte锈津, short, char —int —long —float —double
(從低到高可以進(jìn)行隱式轉(zhuǎn)換)
例: 1.? public class 文件名{
//定義兩個(gè)變量
int a = 3凉蜂;
int b = 4琼梆;
int c = 5;
system.out.println(c)
//定義一個(gè)syte類型變量 一個(gè)int類型變量
byte bb = 2;
Int cc = 3;
system.out.println( bb + cc)窿吩;
//還有一種方式
int dd = bb + cc 茎杂;
system.out.println(dd) ;
}
(最前面的數(shù)據(jù)類型是比你內(nèi)容中的數(shù)據(jù)類型等級(jí)高纫雁,才能進(jìn)行隱性轉(zhuǎn)換)
反例:
byte a = 1;
int b = 2;
byte c= a + b煌往;
/*
byte 是最低等級(jí)的數(shù)據(jù)類型 b賦予的是int類型大于 byte類型因此 不法進(jìn)行隱性轉(zhuǎn)換所以最后輸出時(shí)會(huì)損失精度
*/
system.out.println(c)? // 損失精度
01.21 隱式轉(zhuǎn)換圖解
01.22 類型轉(zhuǎn)換-強(qiáng)制轉(zhuǎn)換
強(qiáng)制轉(zhuǎn)換:? 目標(biāo)類型 變量名 = (目標(biāo)類型) {被轉(zhuǎn)換的數(shù)據(jù)}
例:public class 文件名{
public? static void main ( string [] args );
//定義兩個(gè)變量
int a =10 ;
byte b = 20 轧邪;
byte c = a + b 刽脖; // 糾正: byte c = (byte)( a + b )
system.out.println(c)
// 損失精度
強(qiáng)制轉(zhuǎn)換就是將高等級(jí)變量轉(zhuǎn)換成低等級(jí)變量
例如上面? a + b 的int 類型強(qiáng)制轉(zhuǎn)換成byte 類型
}
建議:數(shù)據(jù)做運(yùn)算,結(jié)果應(yīng)該是什么類型忌愚,就用什么類型接收曲管,不要隨意轉(zhuǎn)換數(shù)據(jù)類型,否則會(huì)有精度損失