JAVA- 標識符 與 類型轉(zhuǎn)換 ★
------來自何以笙簫墨Andy精心總結(jié)!記得關(guān)注長期學(xué)習(xí)昂.class
標識符 ★
什么是標識符?
標識符的組成規(guī)則?
總結(jié): 【學(xué)習(xí)標識符主要注意2個問題:它的規(guī)則?能夠識別標識符是否符合要求!】
1. 什么是標識符?
就是我們?yōu)?類名、變量名稱、方法名稱取名字!都是自定義!
2. 標識符的組成
只能是 數(shù)字(0-9)、字母(a-z或者A-Z)、下劃線(_)、美元符號($)
標識符的命名規(guī)范
1. 硬性要求:
★ 不能以數(shù)字開頭
★ 不能是關(guān)鍵字(關(guān)鍵字已經(jīng)被內(nèi)定了,賦予了特殊的含義!)
★ 嚴格區(qū)分大小寫的
★ 只能是 數(shù)字(0-9)、字母(a-z或者A-Z)、下劃線(_)、美元符號($)
2. 江湖規(guī)矩(軟性要求)
? ? ★ 見名知意,別人一看到類名就知道這個類是干啥的,比如:public class Student{} ====>>> 這個類是用于描述學(xué)生信息的
? 針對類名:大駝峰
? 類名:描述朋友
? 一個單詞:單詞的首字母大寫,比如:Friend
? 多個單詞:每個單詞的首字母都要大寫:比如,男朋友? BoyFriend
? 針對變量名稱、方法名稱:小駝峰
? 變量/方法名稱:
? 一個單詞:每個字母都是小寫? int number = 10;
? 多個單詞:第一個單詞的首字母小寫,其它的單詞的首字母都大寫 int oddNumber = 9;
類型轉(zhuǎn)換 ★
類型轉(zhuǎn)換的分類有?
(隱式)轉(zhuǎn)換指的是?
(強制)轉(zhuǎn)換指的是?
總結(jié):
1. 類型轉(zhuǎn)換分為 自動類型轉(zhuǎn)換和強制類型轉(zhuǎn)換
2. 自動類型轉(zhuǎn)換(我們不用手動處理)
? 將小范圍的數(shù)值賦值給大范圍的變量!
? 只要遵循范圍的規(guī)則:【類型轉(zhuǎn)換都是數(shù)字型的!布爾類型不參與類型轉(zhuǎn)換!】
? byte--->>short--->>>int--->>long--->>float--->>double
? char--->>>int--->>long--->>float--->>double
? 例如:
? ? ? ? long number = 100; // 將小范圍的數(shù)值100(int類型),賦值給大范圍(long類型)的變量number
? byte b = 100; // 代碼也沒有問題,比較特殊(還有short),只要數(shù)值沒有超過byte的最大取值范圍即可!
3. 強制類型轉(zhuǎn)換(手動處理)
將大范圍的數(shù)值賦值給小范圍的變量
? ? ? ? 處理的格式:? 小范圍數(shù)據(jù)類型 變量名稱 = (小范圍的數(shù)據(jù)類型)大范圍數(shù)值;
? ? ? ? 例如:
? ? ? ? long c = (long)3.15;? // 小數(shù)默認是double類型,將大范圍的數(shù)值賦值給小范圍的變量,必須強轉(zhuǎn)!
System.out.println(c); // 3?
強制轉(zhuǎn)換存在2個問題:
丟失精度:大范圍的浮點數(shù)轉(zhuǎn)成小范圍的整數(shù)
long c = (long)3.15;? // 小數(shù)默認是double類型,將大范圍的數(shù)值賦值給小范圍的變量,必須強轉(zhuǎn)!
System.out.println(c); // 3?
數(shù)據(jù)溢出:大范圍的整數(shù)轉(zhuǎn)成小范圍的整數(shù) 【有一個水桶,里面有10L水,然后倒入一個容量只有1L的水杯】
byte d = (byte)200L;
System.out.println(d); // -56
★ 強制類型轉(zhuǎn)換風(fēng)險極大,慎用!?。?/p>