🍊 Java學(xué)習(xí):社區(qū)快速通道
1 變量與基本數(shù)據(jù)類型
1.1 變量
????變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來(lái)存儲(chǔ)各種類型的數(shù)據(jù),。由于該存儲(chǔ)單元中的數(shù)據(jù)可以發(fā)生改變,因此得名為"變量"。
變量分類:
- 按所屬的數(shù)據(jù)類型劃分:
- 基本數(shù)據(jù)類型變量
- 引用數(shù)據(jù)類型變量
- 按被聲明的位置劃分:
- 局部變量:方法或語(yǔ)句塊內(nèi)部定義的變量
- 成員變量:方法外部,、類的內(nèi)部定義的變量
特別注意:類的外面不能有變量的聲明
1.2 數(shù)據(jù)類型
????由于變量記錄的數(shù)據(jù)內(nèi)容大小不同, 導(dǎo)致所需的存儲(chǔ)單元大小不同,在 Java 語(yǔ)言中使用數(shù)據(jù)類型的概念加以描述,。
????字節(jié)是計(jì)算機(jī)信息技術(shù)用于計(jì)量存儲(chǔ)容量的一種計(jì)量單位,作為一個(gè)單位來(lái)處理的一個(gè)二進(jìn)制數(shù)字串,是構(gòu)成信息的一個(gè)小單位。Java 中的字節(jié)是八位的字節(jié),即它包含八位的二進(jìn)制數(shù),。
類型 | 占用內(nèi)存 | 值范圍(含邊界值) | 默認(rèn)值 |
---|
整數(shù)型(int) | 4 字節(jié) | -2 147 483 648 ~ 2 147 483 647(稍大于 20 億) | 0 |
短整數(shù)型 | 2 字節(jié) | -32 768 ~ 32 767 | 0 |
長(zhǎng)整數(shù)型 | 8 字節(jié) | -9 223 372 036 854 775 808L ~ 9 223 372 036 854 775 807L | 0 |
字節(jié)型 | 1 字節(jié) | -128 ~ 127 | 0 |
浮點(diǎn)型 | 4 字節(jié) | -3.40292347E+38 ~ 3.40292347E+38 | 0.0f |
雙精度型 | 8 字節(jié) | -1.79769313486231570E+308 ~1.79769313486231570E+308 | 0.0d |
布爾型 | 1 字節(jié) | true 或 false | false |
字符型 | 2 字節(jié) | ' \u0000 - u\ffff ’ | '\u0000’ |
類型轉(zhuǎn)換分類:
- 小的數(shù)據(jù)向大的數(shù)據(jù)賦值
- Byte - short - int - long - float - double
- char 和 int 類型相互轉(zhuǎn)換
- 強(qiáng)制類型轉(zhuǎn)換(大數(shù)據(jù)向小數(shù)據(jù))
1.3 標(biāo)識(shí)符
Java 對(duì)包,、類、方法,、參數(shù)和變量等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符,。規(guī)則如下:
- 由字母、數(shù)字,、下劃線(_)和美元符號(hào)($)組成,。
- 不能以數(shù)字開頭。
- 區(qū)分大小,。
- 長(zhǎng)度無(wú)限制,。
- 不能是 Java 中的保留關(guān)鍵字。
標(biāo)識(shí)符命名習(xí)慣:見名知意,。
示例:
- 合法標(biāo)識(shí)符:HelloWord,、username2、user_name,、_userName,、$abc_123
- 非法標(biāo)識(shí)符:2UserName、user#Name,、Hello World,、class
1.4 類型轉(zhuǎn)換
boolean 類型不能轉(zhuǎn)換成任何其它數(shù)據(jù)類型。
自動(dòng)類型轉(zhuǎn)換: 容量小的類型自動(dòng)轉(zhuǎn)換成容量大的數(shù)據(jù)類型
byte,short,int -> float -> long -> double
byte,short,int 不會(huì)互相轉(zhuǎn)換,它們?nèi)咴谟?jì)算時(shí)會(huì)轉(zhuǎn)換成 int 類型
強(qiáng)制類型轉(zhuǎn)換:容量大的類型轉(zhuǎn)換成容量小的數(shù)據(jù)類型時(shí),要加上強(qiáng)制轉(zhuǎn)換符
long l = 100L;
int i = (int)l;
有可能造成精度降低或數(shù)據(jù)溢出,使用時(shí)要小心,。
1.5 關(guān)鍵字大全
Java 中有一些賦予特定的含義,有專門用途的字符串稱為關(guān)鍵字(keyword),。全部是小寫,。
**保留字:**沒有定義用途,但保留備用,。如:goto、const
2 二進(jìn)制概述
- 計(jì)算機(jī)中的數(shù)據(jù)都以二進(jìn)制數(shù)字保存,。
- 二進(jìn)制:逢二進(jìn)一,。即只有 0、1 兩個(gè)值,。
- 如:十進(jìn)制的 10 在計(jì)算機(jī)內(nèi)保存為二進(jìn)制的 1010
- 計(jì)算機(jī)中信息的存儲(chǔ)單位
- 位(Bit):表示一個(gè)二進(jìn)制數(shù)碼 0 或 1,是計(jì)算機(jī)存儲(chǔ)處理信息的最基本的單位,。
- 字節(jié)(Byte):一個(gè)字節(jié)由 8 個(gè)位組成,。它表示作為一個(gè)完整處理單位的 8 個(gè)二進(jìn)制數(shù)碼。
事實(shí)上,計(jì)算機(jī)內(nèi)的二進(jìn)制數(shù)值是以補(bǔ)碼形式表示的,。
補(bǔ)碼:
- 一個(gè)正數(shù)的補(bǔ)碼和其原碼的形式是相同的,。
- 負(fù)數(shù)的補(bǔ)碼是:將該數(shù)的絕對(duì)值的二進(jìn)制形式,按位取反再加 1。
- 二進(jìn)制補(bǔ)碼數(shù)值的最高位(最左位)是符號(hào)位:該位為 0,表示數(shù)值為正數(shù);該位為 1,表示數(shù)值為負(fù)數(shù),。
10 = 00000000 00000000 00000000 00001010
-10 = 11111111 11111111 11111111 11110110
主要原因:使用補(bǔ)碼,可以將符號(hào)位和其它位統(tǒng)一處理;同時(shí),減法也可按加法來(lái)處理,。另外,兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位,則進(jìn)位被舍棄。
二進(jìn)制和十進(jìn)制之間互換:
二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),。
按權(quán)相加:把二進(jìn)制數(shù)首先寫成加權(quán)系數(shù)展開式,然后按十進(jìn)制加法規(guī)則求和
十進(jìn)制轉(zhuǎn)換成二進(jìn)制
整數(shù)部分:"除 2 取余,逆序排列"法
小數(shù)部分:"乘 2 取整,順序排列"法
十六進(jìn)制:
二進(jìn)制表示法太冗長(zhǎng),所以在程序中一般喜歡用十六進(jìn)制,。
十六進(jìn)制:基數(shù)為十六,逢十六進(jìn)一。它用 abcdef 表示從 0-9 之上的值,。
Java 中十六進(jìn)制數(shù)據(jù)要以 0x 或 0X 開頭,。如:0x23D
十六進(jìn)制轉(zhuǎn)換成二進(jìn)制只需將每個(gè)十六進(jìn)制數(shù)字替換為相對(duì)應(yīng)的四個(gè)二進(jìn)制位即可。
八進(jìn)制:
八進(jìn)制:基數(shù)為八,。
Java 中八進(jìn)制數(shù)據(jù)要以 0 開頭,。如:0123
八進(jìn)制轉(zhuǎn)換成二進(jìn)制:只需將每個(gè)八進(jìn)制數(shù)字替換為相對(duì)應(yīng)的三個(gè)二進(jìn)制位即可。
現(xiàn)在的計(jì)算機(jī)系統(tǒng)很少用八進(jìn)制的了
3 方法
概述:
????方法用于封裝一段特定的邏輯功能,。方法的主要要素有:權(quán)限修飾符 方法名,、參數(shù)列表和返回值。
格式:
權(quán)限修飾符 返回值類型聲明 方法名稱(參數(shù)列表){
方法中封裝的邏輯功能;
return 返回值;
}
權(quán)限修飾符詳解:
返回值詳解:
方法調(diào)用結(jié)束后可以返回一個(gè)數(shù)據(jù),稱之為返回值,。
方法在聲明時(shí)必須指定返回值的類型,。
通過 return 語(yǔ)句返回,return 語(yǔ)句的作用在于結(jié)束方法且將數(shù)據(jù)返回。
如果方法沒有返回值(即方法不需要返回?cái)?shù)據(jù)),需將返回值類型聲明為 void,。
參數(shù)列表詳解:
方法的參數(shù)列表:在調(diào)用時(shí)傳遞給方法,需要被方法處理的數(shù)據(jù),。
在方法定義時(shí),需要聲明該方法所需要的參數(shù)變量。
在方法調(diào)用時(shí),會(huì)將實(shí)際參數(shù)值傳遞給方法的參數(shù)變量,。必須保證傳遞參數(shù)的類型和個(gè)數(shù)符合方法的聲明,。
示例:
public void say(int a,int b){
System.out.
println("方法 say 正在執(zhí)行");
}
4 運(yùn)算符
4.1 算術(shù)運(yùn)算符
++:如果是變量前綴:先對(duì)此變量加 1,再執(zhí)行其他的操作。
如果是變量后綴:先執(zhí)行當(dāng)前語(yǔ)句的其他操作,再對(duì)此變量加 1
–: 如果是變量前綴:先對(duì)此變量減 1,再執(zhí)行其他的操作,。
如果是變量后綴:先執(zhí)行當(dāng)前語(yǔ)句的其他操作,再對(duì)此變量減 1
4.2 賦值運(yùn)算符
賦值運(yùn)算符作用是將一個(gè)值賦給一個(gè)變量,運(yùn)算順序從右到左
4.3 關(guān)系運(yùn)算符
關(guān)系運(yùn)算符作用是比較兩邊的操作數(shù),結(jié)果總是 boolean 型的,。
4.4 邏輯運(yùn)算符
邏輯運(yùn)算符用于對(duì) boolean
型結(jié)果的表達(dá)式進(jìn)行運(yùn)算,運(yùn)算結(jié)果總是 boolean 型,后面結(jié)合條件結(jié)構(gòu)講解。
4.5 字符串連接運(yùn)算符
String s = "He"+"llo";
"+"除了可用于字符串相連接,也能將字符串與其它的數(shù)據(jù)類型相連成一個(gè)新的字符串,。
如:String s=“x”+ 123; 結(jié)果"x123"
4.6 三目運(yùn)算符
X ? Y : Z
X 為 boolean 類型表達(dá)式,先計(jì)算 x 的值,若為 true,整個(gè)三目運(yùn)算的結(jié)果為表達(dá)式 y 的值,否則整個(gè)運(yùn)算結(jié)果為表達(dá)式 z 的值,。
例:
int score = 75;
String type = score >= 60 ?"及格":"不及格";
5 命名規(guī)范
標(biāo)識(shí)符
Java 對(duì)包、類,、方法,、參數(shù)和變量等要素命名時(shí)使用的字符序列稱為標(biāo)識(shí)符。規(guī)則如下:
- 由字母,、數(shù)字,、下劃線(_)和美元符號(hào)($)組成,。
- 不能以數(shù)字開頭。
- 區(qū)分大小,。
- 長(zhǎng)度無(wú)限制,。
- 不能是 Java 中的保留關(guān)鍵字。
命名規(guī)范: 軟性建議
類名規(guī)范:首字母大寫,后面每個(gè)單詞首字母大寫(大駝峰式),。
方法名規(guī)范: 首字母小寫,后面每個(gè)單詞首字母大寫(小駝峰式),。
變量名規(guī)范:全部小寫
6 轉(zhuǎn)義字符
所有的ASCII碼都可以用“\”加數(shù)字(一般是8進(jìn)制數(shù)字)來(lái)表示。而C中定義了一些字母前加""來(lái)表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉(zhuǎn)義字符,因?yàn)楹竺娴淖址?#xff0c;都不是它本來(lái)的ASCII字符意思了,。