04 - 數(shù)據(jù)類型和分類

數(shù)據(jù)類型表

image.png

數(shù)據(jù)類型占位字節(jié)

image.png

Java語言的整型常量默認(rèn)是int型,聲明long型變量后加上‘l’或‘L,因小寫的l容易和數(shù)字1相混淆,建議使用大寫L。
默認(rèn)情況下,一個(gè)整型的字面量默認(rèn)是int類型.

字符類型講解

  • 小數(shù)類型(float-double):float、double類型:
    表示小數(shù)類型又稱為浮點(diǎn)類型,其中float表示單精度類型,double表示雙精度類型,但是二者都不能表示精確的小數(shù)。

兩種表現(xiàn)形式:
十進(jìn)制形式: 例如:3.14 ,168.0, .618
科學(xué)計(jì)數(shù)法形式: 例如:3.14e2, 3.14E2, 1000E-2
科學(xué)計(jì)數(shù)法表達(dá)式返回的結(jié)果是double類型。
默認(rèn)情況下,一個(gè)浮點(diǎn)類型的字面量默認(rèn)是double類型.若要聲明一個(gè)常量為float型,則需在常量后加上f 或 F,double常量后面的D或d可省略。
注意:Java里只有浮點(diǎn)型的變量才可以接受科學(xué)計(jì)算式結(jié)果:
因?yàn)閒loat和double都不能精確的表示小數(shù),那么在精度要求高的系統(tǒng)比如銀行系統(tǒng)里,那怎么表示精確的小數(shù)呢?后面我們會講BigDecimal類型,它表示任意精度的數(shù)據(jù)。


  • 字符類型(char):字符,字母和符號.
    char類型:表示16位的無符號整數(shù)或者Unicode字符,Java對字符采用Unicode字符編碼。
    Unicode收集了世界上所有語言文字中的符號,是一種跨平臺的編碼方式,Java的字符占兩個(gè)字節(jié),可以表示一個(gè)漢字。
    什么是編碼?
    計(jì)算機(jī)只能表示0和1兩個(gè)數(shù),于是人們做規(guī)定使用一個(gè)數(shù)字去表示一個(gè)特定的字符,比如a使用97表示。
    char前256個(gè)字符和ASCII(美國信息交互標(biāo)準(zhǔn)編碼)碼中的字符重復(fù)。

  • char常量有3種表示形式:
    ① 直接使用單個(gè)字符來指定字符常量,格式如'◆'、'A','7';
    ② 直接作為十進(jìn)制整數(shù)數(shù)值使用,但是數(shù)據(jù)范圍在[0,65535],格式如97,但是打印出來的值依然是ASCII碼表對于的符號,如97打印出來是字符a。
    ③ 和2一樣,只不過表示的是16進(jìn)制的數(shù)值,格式如'\uX',X表示16進(jìn)制整數(shù);如:97的16進(jìn)制是61。那么表示為‘\u0061’打印出來也是a。
    所以有人說char本質(zhì)上也是整型,也是有道理的。
    char前256個(gè)字符和ASCII(美國信息交互標(biāo)準(zhǔn)編碼)碼中的字符重復(fù),可查表。

  • String字符串

除了8種基本數(shù)據(jù)類型,其他所有類型都是引用數(shù)據(jù)類型,包括類、接口、數(shù)組。引用數(shù)據(jù)類型默認(rèn)初始值都是null。
String是一個(gè)類,字符串使用 "" 括起來的,連接字符串使用 “+”符號。


public class Test {
    public static void main(String[] args) {
        System.out.println( 8 + 7 +"hello");
        System.out.println( 8 + "hello" + 7);
        String str = 17 + "AAA";
        System.out.println(str);

    }
}

數(shù)據(jù)過大和溢出

當(dāng)要表示的數(shù)據(jù)超出數(shù)據(jù)類型的臨界范圍時(shí),稱為溢出。溢出情況發(fā)生時(shí)程序并沒有做數(shù)據(jù)范圍檢查處理,此時(shí)會出現(xiàn)數(shù)據(jù)紊亂情況。

public class Test {
    public static void main(String[] args) {
        int  max = 2147483647;
        //讓max變量的值加1之后,再賦值給max變量
        max = max +1;
        System.out.println("最大值"+max); //-2147483648

        int min = -2147483648;
        min = min - 1;
        System.out.println("最小值"+min); //2147483647
    }
}

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容