java的datatype_java数据类型
一、分類?
基本數據類型與引用數據類型。
1.1.基本數據類型:
整型(4),
byte? 1個字節,256種數字,范圍時-128-127
short ,2個字節,2的16次方種數字,范圍是 -32767-32767
int? ,4個字節,2的32次方種數字。
long ,8個字節,同理推算。整型的二進制第一位表示符號,如正或者負,其他位置表示數字。如:byte型,1字節=8bit,去掉一位表示符號,則其他最大就是2的7次方。
浮點型(2)
float,4個字節。double ,8個字節。
float,第1位表示符號,后8位表示指數位,后23位表示指數位。整數取值:-127-128,小數位:2的23次方,8388608,有效數字7位。
double,第一位表示符號,后11位表示指數位,后52位表示小數位。整數取值:-1023-1024。小數位2的52次方,有效數字16位。
帶小數的浮點型默認是double型。
字符型(1)
char,2字節,Unicode編碼。1字節,ASCII編碼。
PS:‘a’,'我‘,‘3’,為什么英文、符號、數字是一個字節?中文是2個字節?
答:ASCII編碼中,1個字節可以完全完全所有字母、數字、符號。如字母有52個,數字0-9,符號算上50個,總共120個,1個字節就有2的8次方種組合,所以夠用了。
在中文中,漢字幾千個,所以七1個字節不夠表示,所有用2個字節。即2的16次方種,可以表示所有中文了,使用Unicode編碼。
布爾型(1)
boolean,1個字節,2個值,true 或者false。
1.2.引用數據類型
數組、class類、抽象類(abstract class)、接口(interface)、枚舉(enum)、注釋@interface。
二、精度相關問題
1.float? = 3.4,有問題嗎?應該為?
有問題,默認3.4是double型,精度更高,轉換為float編譯會報告丟失精度的錯誤,應該寫成:float = 3.4F;
2.long a = 2147483648,有問題嗎?應該是?
有問題,整型默認是int型,表示最大整型位2的31次方減去1,即2147483647,上述賦值超過范圍,故應這樣寫:long a = 2147483648L。
總結
以上是生活随笔為你收集整理的java的datatype_java数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hero你是我的hero是哪首歌啊?
- 下一篇: mongodb java项目 源码_sp