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