您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java基礎(chǔ)之基本數(shù)據(jù)類(lèi)型怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java基礎(chǔ)之基本數(shù)據(jù)類(lèi)型怎么用”這篇文章吧。
主要擴(kuò)展一下不同進(jìn)制的整型
二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制
* 二進(jìn)制 : 0B(數(shù)字零+B) 0b(數(shù)字零+b)
* 八進(jìn)制 :0(數(shù)字零開(kāi)頭)
* 十進(jìn)制 :正常寫(xiě)就是十進(jìn)制
* 十六進(jìn)制 : 0X (數(shù)字零+X)0x (數(shù)字零+x) A-F 代表 10-15
/** * 進(jìn)制 : * 二進(jìn)制 : 0B(數(shù)字零+B) 0b(數(shù)字零+b) * 八進(jìn)制 :0(數(shù)字零開(kāi)頭) * 十進(jìn)制 :正常寫(xiě)就是十進(jìn)制 * 十六進(jìn)制 : 0X (數(shù)字零+X)0x (數(shù)字零+x) * A-F 代表 10-15 * */ int i2_1 = 0b10; // 二進(jìn)制的 2 int i2_2 = 0B10; int i8 = 010; // 八進(jìn)制的 8 int i10 = 10; // 十進(jìn)制的 10 int i16_1 = 0X1B; // 十六進(jìn)制的 16+11 = 27 int i16_2 = 0x1B; System.out.println("二進(jìn)制:i2_1 = "+i2_1); System.out.println("二進(jìn)制:i2_2 = "+i2_2); System.out.println("八進(jìn)制:i8 = "+i8); System.out.println("十進(jìn)制:i10 = "+i10); System.out.println("十六進(jìn)制:i16_1 = "+i16_1); System.out.println("十六進(jìn)制:i16_2 = "+i16_2);
二進(jìn)制:i2_1 = 2
二進(jìn)制:i2_2 = 2
八進(jìn)制:i8 = 8
十進(jìn)制:i10 = 10
十六進(jìn)制:i16_1 = 27
十六進(jìn)制:i16_2 = 27
【特別注意】程序中盡量不要使用浮點(diǎn)型的數(shù)據(jù)進(jìn)行比較,否則可能會(huì)出現(xiàn)非常嚴(yán)重的問(wèn)題
浮點(diǎn)數(shù)的詭異比較 1. float 和 double 的數(shù)據(jù)不可直接進(jìn)行比較 : float類(lèi)型:有限的離散數(shù)據(jù),舍入誤差,所以不等于double同數(shù)據(jù) 2. float 和 float 的數(shù)據(jù)比較不可直接使用 == 【結(jié)論】 : 當(dāng)涉及到 浮點(diǎn)數(shù)的比較的時(shí)候: 思路一 : 做差 小于某個(gè)數(shù) 思路二 : 使用 大數(shù)類(lèi)型 BigDecimal
/** * 浮點(diǎn)數(shù)的詭異比較 * 1. float 和 double 的數(shù)據(jù)不可直接進(jìn)行比較 : * float類(lèi)型:有限的離散數(shù)據(jù),舍入誤差,所以不等于double同數(shù)據(jù) * 2. float 和 float 的數(shù)據(jù)比較不可直接使用 == * * 【結(jié)論】 : 當(dāng)涉及到 浮點(diǎn)數(shù)的比較的時(shí)候: * 思路一 : 做差 小于某個(gè)數(shù) * 思路二 : 使用 大數(shù)類(lèi)型 BigDecimal */ float f1 = 1.56f; double f2 = 1.56; System.out.println("f1 = "+f1); System.out.println("f2 = "+f2); System.out.println(" f1 是否與 f2 的值相等 : "+(f1 == f2)); float d1 = 1231238142342342342909f; float d2 = d1 +1; System.out.println("d1 = "+d1); System.out.println("d2 = "+d2); System.out.println("d1 是否與 d2 的值相等 : "+(d1 == d2));
f1 = 1.56
f2 = 1.56
f1 是否與 f2 的值相等 : false
d1 = 1.2312381E21
d2 = 1.2312381E21
d1 是否與 d2 的值相等 : true
字符類(lèi)型的數(shù)據(jù),本質(zhì)上是一個(gè)數(shù)字
字符對(duì)應(yīng)的是Unicode 編碼表中數(shù)字
可以直接寫(xiě) U0000 UFFFF (U后跟著的是十六進(jìn)制的數(shù))
【特殊的字符】 : 轉(zhuǎn)義字符***
char c1 = 'a'; char c2 = '國(guó)'; char c3 = '\u0065'; // 十六進(jìn)制 65 對(duì)應(yīng) unicode 編碼表中的 小寫(xiě)字母 e System.out.println("c1 = " +c1+" ; (int)c1 = "+(int)c1); System.out.println("c2 = " +c2+" ; (int)c2 = "+(int)c2); System.out.println("c3 = "+c3);
c1 = a ; (int)c1 = 97
c2 = 國(guó) ; (int)c2 = 22269
c3 = e
【注意】 字符串String 不屬于基本數(shù)據(jù)類(lèi)型!
此處的比較主要是體會(huì)一下值 的比較
和對(duì)象地址的比較
String s1 = new String("Hello World!"); String s2 = new String("Hello World!"); String s3 = "Hello World!"; String s4 = "Hello World!"; System.out.println("s1 是否與 s2 相等 ? : "+(s1 == s2)); // false 對(duì)象的比較 System.out.println("s3 是否與 s4 相等 ? : "+(s3 == s4)); // true 值的比較
s1 是否與 s2 相等 ? : false
s3 是否與 s4 相等 ? : true
以上是“Java基礎(chǔ)之基本數(shù)據(jù)類(lèi)型怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。