java语言中的数据类型_Java语言中关于数据类型的一些总结
一、Java語言中有兩種數(shù)據(jù)類型
基本數(shù)據(jù)類型:即int/char等這樣的數(shù)值類型,共8種
1、byte
byte 數(shù)據(jù)類型是8位、有符號的,以二進(jìn)制補(bǔ)碼表示的整數(shù)
范圍是-27--(27-1);
byte 類型用在大型數(shù)組中節(jié)約空間,主要代替整數(shù),因為 byte 變量占用的空間只有 int 類型的四分之一;
例子:byte a = 100,byte b = -50。
2、short
short 數(shù)據(jù)類型是 16 位、有符號的以二進(jìn)制補(bǔ)碼表示的整數(shù);
范圍是-215——(215-1);
Short 數(shù)據(jù)類型也可以像 byte 那樣節(jié)省空間。一個short變量是int型變量所占空間的二分之一;
例子:short s = 1000,short r = -20000
3、int
int 數(shù)據(jù)類型是32位、有符號的以二進(jìn)制補(bǔ)碼表示的整數(shù);
范圍是-231——(231-1);
一般地整型變量默認(rèn)為 int 類型;
例子:int a = 100000, int b = -200000
4、long
long 數(shù)據(jù)類型是 64 位、有符號的以二進(jìn)制補(bǔ)碼表示的整數(shù);
范圍是-263——(263-1);
這種類型主要使用在需要比較大整數(shù)的系統(tǒng)上;
默認(rèn)值是?0L;
例子: long a = 100000L,Long b = -200000L。
"L"理論上不分大小寫,但是若寫成"l"容易與數(shù)字"1"混淆,不容易分辯。所以最好大寫。
5、float
float 數(shù)據(jù)類型是單精度、32位、符合IEEE 754標(biāo)準(zhǔn)的浮點數(shù);
float 在儲存大型浮點數(shù)組的時候可節(jié)省內(nèi)存空間;
默認(rèn)值是?0.0f;
浮點數(shù)不能用來表示精確的值,如貨幣;
例子:float f1 = 23.7f.
6、double
double 數(shù)據(jù)類型是雙精度、64 位、符合IEEE 754標(biāo)準(zhǔn)的浮點數(shù);
浮點數(shù)的默認(rèn)類型為double類型;
double類型同樣不能表示精確的值,如貨幣;
默認(rèn)值是?0.0d;
例子:double d1 = 3.4。
7、boolean
boolean數(shù)據(jù)類型表示判斷型數(shù)據(jù)類型;
只有兩個取值:true 和 false,這種類型只作為一種標(biāo)志來記錄 true/false 情況;
默認(rèn)值是?false;
例子:boolean one = true。
8、char
char類型是一個單一的 16 位字符;
范圍是\u0000(即為0)——\uffff(即為65535);
char 數(shù)據(jù)類型可以儲存任何字符;
例子:char letter = 'A';。.
二、引用數(shù)據(jù)類型
除了基本數(shù)據(jù)類型之外都是引用類型
對象、數(shù)組都是引用數(shù)據(jù)類型;如數(shù)組int[],String[],
所有引用類型的默認(rèn)值都是null;
一個引用變量可以用來引用與任何與之兼容的類型。
三、數(shù)據(jù)類型轉(zhuǎn)換
程序中經(jīng)常會遇到要將數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換的情況(如:在一個表達(dá)式中存在不同類型的操作數(shù)時),Java的數(shù)據(jù)類型轉(zhuǎn)換比C控制得更為嚴(yán)格;
數(shù)據(jù)類型轉(zhuǎn)換有兩種情況:自動類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換。
1、自動類型轉(zhuǎn)換
數(shù)據(jù)類型轉(zhuǎn)換必須滿足如下規(guī)則:
1) 不能對boolean類型進(jìn)行類型轉(zhuǎn)換。
2) 不能把對象類型轉(zhuǎn)換成不相關(guān)類的對象。
3)在把容量大的類型轉(zhuǎn)換為容量小的類型時必須使用強(qiáng)制類型轉(zhuǎn)換。
4)轉(zhuǎn)換過程中可能導(dǎo)致溢出或損失精度,
例如:
inti =128;
byteb =(byte)i;
因為byte類型時為8位,最大值為127,所以當(dāng)強(qiáng)制轉(zhuǎn)換為int類型值128時候就會導(dǎo)致溢出。
5) 浮點數(shù)到整數(shù)的轉(zhuǎn)換是通過舍棄小數(shù)得到,而不是四舍五入,例如:
(int)23.7 == 23;
(int)-45.9f == -45;
必須滿足轉(zhuǎn)換前的數(shù)據(jù)類型的位數(shù)要低于轉(zhuǎn)換后的數(shù)據(jù)類型,例如: short數(shù)據(jù)類型的位數(shù)為16位,就可以自動轉(zhuǎn)換位數(shù)為32的int類型,同樣float數(shù)據(jù)類型的位數(shù)為32,可以自動轉(zhuǎn)換為64位的double類型。
2、強(qiáng)制類型轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換也稱作顯式類型轉(zhuǎn)換;條件是轉(zhuǎn)換的數(shù)據(jù)類型必須是兼容的
如果被轉(zhuǎn)換的值的數(shù)據(jù)類型大于其目標(biāo)類型,將會丟失部分信息;
如:
int = 65;
char ch = x;
這樣的語句將報錯,因為char類型精度低于int類型,編譯器無法將其自動轉(zhuǎn)換,只能進(jìn)行強(qiáng)制轉(zhuǎn)換
int = 65;
char ch = (char)x;
四、基本類型和引用類型的區(qū)別
五、基本數(shù)據(jù)類型的賦值
基本數(shù)據(jù)類型之間賦值,是將值進(jìn)行拷貝
例:int i = 8;
int j = 9;
i = j;
System.out.println("i="+i+"j="+j);
運行結(jié)果為i = 9 ?j= 9。
i++;
j--;
System.out.println("i="+i+"j="+j);
運行結(jié)果為i = 10 ? j = 8;
這說明 i 和 j 的值存在于不同的空間,各自的操作都不影響。
六、引用類型的賦值
引用類型的賦值都是通過new調(diào)用構(gòu)造方法
Fish fish1 = new fish ("黑色",5kg)
Fish fish2 = new fish ("紅色",4kg)
引用類型之間賦值,是虛地址之間的賦值
如:fish1 = fish2,把fish2的值賦給fish1,指的是把fish2的虛地址賦值給fish1,也就是二者將指向同一個實際對象"紅色的魚",4kg。
之后無論 再給fish1或fish2附新值,fish1和fish2都會同時變化的。
總結(jié)
以上是生活随笔為你收集整理的java语言中的数据类型_Java语言中关于数据类型的一些总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java动态添加属性_java – 动态
- 下一篇: Java中lambda表达式去重_JAV