字面量和常量 常量:程序中固定不變化的值。 常量分類:
變量 變量的定義:表示存儲空間,可用來存放某一類型的常量值,沒有固定值,并可以重復(fù)使用,也可以用來存儲某種類型的未知數(shù)據(jù)。 好比飯店雅間的名字. 變量的特點: ① 占據(jù)著內(nèi)存中的某一塊存儲區(qū)域; ② 該區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型); ③ 可以被重復(fù)使用; ④ 該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化; 變量的定義: 先定義變量,再賦值: 數(shù)據(jù)類型 變量名; 變量名 = 值; 或在聲明時同時賦值: 數(shù)據(jù)類型 變量名 = 初始化值; 注:格式是固定的,記住格式,以不變應(yīng)萬變。 不推薦:同時定義多個變量. 變量的分類: 根據(jù)變量定義在類中的位置不同,故把變量分成兩大類: 1):成員變量:直接定義在類里的變量,又稱為全局變量或字段。 2):局部變量:變量除了成員變量之外,其他就是局部變量。根據(jù)定義的位置不同有3種表現(xiàn)形式:方法形參,方法內(nèi)變量,代碼塊變量。 變量作用域(作用范圍/說人話:在哪一個范圍之內(nèi)可以使用): 指變量的存在范圍,只有在這個范圍內(nèi),程序代碼才能訪問它。當(dāng)一個變量被定義時,它的作用域就確定了: 作用域是定義開始到定義所在的花括號結(jié)束; 變量使用規(guī)則: 1.變量必須先聲明,并且初始化后才能使用; 2.聲明變量必須有數(shù)據(jù)類型 3.同一作用域內(nèi)變量不能重復(fù)定義 -------------------------------------------- 更多的如變量的生命周期等等,在面向?qū)ο笤僦v. JAVA表達(dá)式 表達(dá)式(expression):是由數(shù)字、運算符、數(shù)字分組符號(括號)、變量等以能求得結(jié)果的有意義排列的組合。 用運算符號連接的變量/常量可稱為表達(dá)式。那么也就是說表達(dá)式是由常量、變量、運算符、括號組成能求得值的有意義結(jié)果的語句。 如: a a + b 3.14 + a (x + y) * z + 100 表達(dá)式中操作數(shù)進(jìn)行運算得到的最終結(jié)果就是表達(dá)式的結(jié)果。 表達(dá)式的運算順序(大多和數(shù)學(xué)一樣,參照運算符操作優(yōu)先級): 數(shù)據(jù)類型和分類 前面談到變量的時候,說變量是有類型的,那么Java數(shù)據(jù)有多少和哪些類型呢?總得來說,分成兩種: ① 基本數(shù)據(jù)類型,又稱為原生數(shù)據(jù)類型; ② 引用數(shù)據(jù)類型,又稱為對象數(shù)據(jù)類型; ------------------------------------------------- 8大基本數(shù)據(jù)類型: 數(shù)值類型: 整數(shù): byte,short,int,long 小數(shù): float,double 字符類型:符號char 布爾類型:對/錯boolean 最常用的引用類型-String Java引用類型: 類/接口/數(shù)組; 最常用的的引用類型:String類.(字符串) ---------------------------------------------------------- 什么是字符串: 除了8種基本數(shù)據(jù)類型,其他所有類型都是引用數(shù)據(jù)類型,包括類、接口、數(shù)組。引用數(shù)據(jù)類型默認(rèn)初始值都是null。 String是一個類,表示字符串(后面詳講),所謂字符串,就是一串字符,也就是N個字符連接在一起(N可以表示0或多個),好比羊肉串。 字符串都得使用 "" 括起來的,連接字符串使用 “+”符號。 任何數(shù)據(jù)類型和String相連接(+),結(jié)果都是新的字符串. 如:String str ="做個程序員"; str+="很好 不錯"; 基本數(shù)據(jù)類型轉(zhuǎn)換 基本數(shù)據(jù)類型轉(zhuǎn)換: 方式1: 自動類型轉(zhuǎn)換 方式2: 強(qiáng)制類型轉(zhuǎn)換 ----------------------------------------------------- 自動類型轉(zhuǎn)換,也稱為“隱式類型轉(zhuǎn)換: 當(dāng)把小數(shù)據(jù)范圍類型的數(shù)值或變量賦給另一個大數(shù)據(jù)范圍類型變量,系統(tǒng)可以完成自動類型轉(zhuǎn)型。這好比把裝一斤水容器里的水倒進(jìn)可以裝兩斤水的容器里一樣。 再次強(qiáng)調(diào):boolean 類型是不可以轉(zhuǎn)換為其他數(shù)據(jù)類型。 ------------------------------------------------------- 強(qiáng)制類型轉(zhuǎn)換,也稱為“顯示類型轉(zhuǎn)換": 當(dāng)把大范圍類型的數(shù)值或變量賦給另一個小范圍類型變量時,此時系統(tǒng)不能自動完成轉(zhuǎn)換,需要加上強(qiáng)制轉(zhuǎn)換符,但這樣的操作可能造成數(shù)據(jù)精度的降低或溢出,所以使用時要格外注意。 這就好比把裝兩斤水容器里的水倒在可以裝一斤水的容器里,是可能造成水溢出的。 若要堅持把4斤蘋果塞進(jìn)一個裝3斤的袋子里,我們要怎么辦?動用暴力。 強(qiáng)制類型轉(zhuǎn)換,可能造成溢出和精度損失。 ================== 面試筆試題: 自增: ++, 遞增操作符,使變量值增加1,有前置和后置之分, 只能操作變量。 自減: -- ,遞減操作符,使變量值減去1,有前置和后置之分, 只能操作變量。 自增和自減具體操作是一樣的,僅僅是一個是加1,一個是減1而已,現(xiàn)在單講++: 代碼 result ++和 ++result,都將使result變量的值加1。 唯一的區(qū)別是: 前置(++result): 表示對result加1之后的結(jié)果進(jìn)行運算, 后置(result++): 表示對變量加1之前的值(原始值)進(jìn)行運算。 如果僅僅執(zhí)行簡單的遞增操作(只寫result++或++result),那么選用任意一個都可以。 --------------------------------如圖------------------------------------------ 邏輯運算符 語法格式為:boolean result = 表達(dá)式A 邏輯運算符 表達(dá)式B; -----------------------------美美分割線------------------------------------- &:表示并且,當(dāng)操作數(shù)A和B都為true結(jié)果才為true,否則結(jié)果result 是false。 &&:和&結(jié)果相同,具有短路效果,如果左邊操作數(shù)A是false,result 一定為false,且不運行B的運算。 |:表示或者,A和B都為false結(jié)果result為false,只要有A或B是true,結(jié)果就是true。 ||:和|結(jié)果相同,具有短路效果,如果左邊操作數(shù)A是true,result一定為true,且不運行B的運算。 ^:判斷A和B是否不同,不同則為true,相同則為false。 !:取反,!true結(jié)果是false,!fasle結(jié)果是true。 位運算符 遵循規(guī)則:0看做是false,1看做是true. &:參與運算的兩個數(shù),若相應(yīng)位數(shù)的值都為1,則該位結(jié)果值是1,否則是0。 |:參與運算的兩個數(shù)相應(yīng)位中只要有一個1,結(jié)果就是1。 ^:參與運算的兩個數(shù)相應(yīng)位相同則結(jié)果為0,否則為1。 ~ :表示把每個二進(jìn)制位的“1”換成“0”,把“0”換成“1”。 ----------------------------------------------- 移位操作: <<:將操作數(shù)的二進(jìn)制碼整體左移指定位數(shù),左移之后的空使用“0”來補(bǔ)充。 >>:將操作數(shù)的二進(jìn)制碼整體右移指定位數(shù),右移之后的空使用“符號位”來補(bǔ)充: 若是正數(shù)使用“0”補(bǔ)充; 若是負(fù)數(shù)使用“1”補(bǔ)充;(操作負(fù)數(shù):取反,求補(bǔ),操作,取反,求補(bǔ)) >>>:將操作數(shù)的二進(jìn)制碼整體右移指定位數(shù),右移之后的空位使用“0”來補(bǔ)充。 運算符的操作優(yōu)先級 總結(jié) |
|