溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Java基礎(chǔ)之基本數(shù)據(jù)類(lèi)型怎么用

發(fā)布時(shí)間:2021-06-30 14:16:43 來(lái)源:億速云 閱讀:176 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“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

1.1 測(cè)試代碼

 		/**
         * 進(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);

1.2 運(yùn)行結(jié)果

二進(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)型

【特別注意】程序中盡量不要使用浮點(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

2.1 測(cè)試代碼(很關(guā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
         */
        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));

2.2 運(yùn)行結(jié)果

f1 = 1.56
f2 = 1.56
 f1 是否與 f2 的值相等 :  false
d1 = 1.2312381E21
d2 = 1.2312381E21
d1 是否與 d2 的值相等 : true

三、字符的本質(zhì)是數(shù)字

字符類(lèi)型的數(shù)據(jù),本質(zhì)上是一個(gè)數(shù)字
字符對(duì)應(yīng)的是Unicode 編碼表中數(shù)字
可以直接寫(xiě) U0000 UFFFF (U后跟著的是十六進(jìn)制的數(shù))
【特殊的字符】 : 轉(zhuǎn)義字符***

3.1 測(cè)試代碼

   		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);

3.2 運(yùn)行結(jié)果

c1 = a ; (int)c1 = 97
c2 = 國(guó) ; (int)c2 = 22269
c3 = e

四、字符串的比較

【注意】 字符串String 不屬于基本數(shù)據(jù)類(lèi)型!
此處的比較主要是體會(huì)一下 值 的比較對(duì)象地址的比較

4.1 測(cè)試代碼

		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 值的比較

4.2 運(yùn)行結(jié)果

s1 是否與 s2 相等 ? : false
s3 是否與 s4 相等 ? : true

以上是“Java基礎(chǔ)之基本數(shù)據(jù)類(lèi)型怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI