Java的8種基本數據類型


 

待整理主題:Java的8種基本數據類型與對應封裝類型、拆箱、裝箱

 

===================================================================================================

 參考文章:

java中char數據類型的使用

 

char:java中稱為“字符型”  占2個字節

 

字符常量是用單引號括起的一個字符  且字符常量在內存中存儲的是該字符在Unicode字符集中的排序位置,即整數

eg:char x='a'

內存x中存儲的是字符a在Unicode字符集中的排序位置97  因此允許將上面的語句寫成char x=97;

 

由此例可以得出以下結論:

1.要觀察一個字符在Unicode字符集中的排序位置,必須使用int類型顯示轉換,例如:(int)'a'

2.同理,如果要得到一個0---65535之間的數所代表的Unicode表中相應位置上的字符也必須使用char型顯示轉換

 

===================================================================================================

 參考文章 

八種基本數據類型

 Java的基本數據類型有八種:

 

1)四種整數類型(byte、short、int、long):
byte:8位,用於表示最小數據單位,如文件中數據,-128~127
short:16位,很少用,-32768 ~ 32767
int:32位、最常用,-2^31-1~2^31 (21億)
long:64位、次常用
- 注意事項:
- int i=5; // 5叫直接量(或字面量),即直接寫出的常數。
- 整數字面量默認都為int類型,所以在定義的long型數據后面加L或l。
- 小於32位數的變量,都按int結果計算。
- 強轉符比數學運算符優先級高。見常量與變量中的例子。

 

2)兩種浮點數類型(float、double):
float:32位,后綴F或f,1位符號位,8位指數,23位有效尾數。
double:64位,最常用,后綴D或d,1位符號位,11位指數,52位有效尾數。
- 注意事項:
- 二進制浮點數:1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)
- 尾數: . 1010100010 指數:1010 基數:2
- 浮點數字面量默認都為double類型,所以在定義的float型數據后面加F或f;double類型可不寫后綴,但在小數計算中一定要寫D或X.X。
- float 的精度沒有long高,有效位數(尾數)短。
- float 的范圍大於long 指數可以很大。
- 浮點數是不精確的,不能對浮點數進行精確比較。

 

3)一種字符類型(char):
char:16位,是整數類型,用單引號括起來的1個字符(可以是一個中文字符),使用Unicode碼代表字符,0~2^16-1(65535)。

注意事項:
不能為0個字符。
轉義字符:\n 換行 \r 回車 \t Tab字符 \” 雙引號 \ 表示一個\
兩字符char中間用“+”連接,內部先把字符轉成int類型,再進行加法運算,char本質就是個數!二進制的,顯示的時候,經過“處理”顯示為字符。

 

4)一種布爾類型(boolean):true真 和false假。

 

5)類型轉換: char–> 
自動轉換:byte–>short–>int–>long–>float–>double 
強制轉換:

    1. 會損失精度,產生誤差,小數點以后的數字全部舍棄。
    2. 容易超過取值范圍。

 

===================================================================================================

 java里不是說char類型自動向int型轉換嗎?那為什么..

 

 

解釋一:常量和變量的內存模型
解釋二:char類型加減一個值是左右偏移

 

 

char a='a';
char b=a+18; //運行時程序報錯了


 

 

===================================================================================================

 

 short類型與int類型轉換,float類型與double類型轉換

 

 

 

 

===================================================================================================

為什么Long類型的比float類型的范圍小?

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM