2.1 Java數(shù)據(jù)類型以及變量的定義

Java 是一種強類型的語言,聲明變量時必須指明數(shù)據(jù)類型。變量(variable)的值占據(jù)一定的內(nèi)存空間叶堆。不同類型的變量占據(jù)不同的大小。

Java中共有8種基本數(shù)據(jù)類型斥杜,包括 4 種整型虱颗、2 種浮點型、1 種字符型果录、1 種布爾型上枕,請見下表。

Java基本數(shù)據(jù)類型


數(shù)據(jù)類型說明所占內(nèi)存舉例備注byte字節(jié)型1 byte3, 127 short短整型2 bytes3, 32767 int整型4 bytes3, 21474836 long長整型8 bytes3L, 92233720368Llong最后要有一個L字母(大小寫無所謂)弱恒。float單精度浮點型4 bytes1.2F, 223.56Ffloat最后要有一個F字母(大小寫無所謂)辨萍。double雙精度浮點型8 bytes1.2, 1.2D, 223.56, 223.56Ddouble最后最好有一個D字母(大小寫無所謂)。char字符型2 bytes'a', ‘A’字符型數(shù)據(jù)只能是一個字符返弹,由單引號包圍锈玉。boolean布爾型1 bittrue, false

對于整型數(shù)據(jù),通常情況下使用 int 類型义起。但如果表示投放廣島長崎的原子彈釋放出的能量拉背,就需要使用 long 類型了。byte 和 short 類型主要用于特定的應用場合默终,例如椅棺,底層的文件處理或者需要控制占用存儲空間量的大數(shù)組。

在Java中齐蔽,整型數(shù)據(jù)的長度與平臺無關两疚,這就解決了軟件從一個平臺移植到另一個平臺時給程序員帶來的諸多問題。與此相反含滴,C/C++ 整型數(shù)據(jù)的長度是與平臺相關的诱渤,程序員需要針對不同平臺選擇合適的整型,這就可能導致在64位系統(tǒng)上穩(wěn)定運行的程序在32位系統(tǒng)上發(fā)生整型溢出谈况。

八進制有一個前綴 0勺美,例如 010 對應十進制中的 8递胧;十六進制有一個前綴 0x,例如 0xCAFE赡茸;從 Java 7 開始缎脾,可以使用前綴 0b 來表示二進制數(shù)據(jù),例如 0b1001 對應十進制中的 9坛掠。同樣從 Java 7 開始赊锚,可以使用下劃線來分隔數(shù)字,類似英文數(shù)字寫法屉栓,例如 1_000_000 表示 1,000,000舷蒲,也就是一百萬。下劃線只是為了讓代碼更加易讀友多,編譯器會刪除這些下劃線牲平。

另外,不像 C/C++域滥,Java 不支持無符號類型(unsigned)纵柿。

float 類型有效數(shù)字最長為 7 位,有效數(shù)字長度包括了整數(shù)部分和小數(shù)部分启绰。例如:

float x = 223.56F;
float y = 100.00f;

注意:每個float類型后面都有一個標志“F”或“f”昂儒,有這個標志就代表是float類型。

double 類型有效數(shù)字最長為 15 位委可。與 float 類型一樣渊跋,double 后面也帶有標志“D”或“d”。例如:

double x = 23.45D;
double y = 422.22d;
double z = 562.234;

注意:不帶任何標志的浮點型數(shù)據(jù)着倾,系統(tǒng)默認是 double 類型拾酝。

大多數(shù)情況下都是用 double 類型,float 的精度很難滿足需求卡者。

不同數(shù)據(jù)類型應用舉例:

public class Demo {
    public static void main(String[] args){
        // 字符型
        char webName1 = 'C';
        char webName2 = 'T';
        char webName3 = 'O';
        System.out.println("網(wǎng)站的名字是:" + webName1 + webName2 + webName3);
       
        // 整型
        short x=22;  // 十進制
        int y=022;  // 八進制
        long z=0x22L;  // 十六進制
        System.out.println("轉化成十進制:x = " + x + ", y = " + y + ", z = " + z);
       
        // 浮點型
        float m = 22.45f;
        double n = 10;
        System.out.println("計算乘積:" + m + " * " + n + "=" + m*n);
    }
}

運行結果:
網(wǎng)站的名字是:CTOLib碼庫
轉化成十進制:x = 22, y = 18, z = 34
計算乘積:22.45 * 10.0=224.50000762939453

從運行結果可以看出蒿囤,即使浮點型數(shù)據(jù)只有整數(shù)沒有小數(shù),在控制臺上輸出時系統(tǒng)也會自動加上小數(shù)點崇决,并且小數(shù)位全部置為 0材诽。

對布爾型的說明


如果你有編程經(jīng)驗,了解布爾型恒傻,請?zhí)^下面的教程脸侥,下面的教程針對只有C語言基礎的讀者(C語言沒有布爾型)。

在C語言中碌冶,如果判斷條件成立,會返回1涝缝,否則返回0扑庞,例如:

#include <stdio.h>

int main(){
    int x = 100>10;
    int y = 100<10;
    printf("100>10 = %d\n", x);
    printf("100<10 = %d\n", y);

    return 0;
}

運行結果:
100>10 = 1
100<10 = 0

但是在Java中不一樣譬重,條件成立返回 true,否則返回 false罐氨,即布爾類型臀规。例如:

public class Demo {
    public static void main(String[] args){
        // 字符型
        boolean a = 100>10;
        boolean b = 100<10;
        System.out.println("100>10 = " + a);
        System.out.println("100<10 = " + b);
       
        if(a){
            System.out.println("100<10是對的");
        }else{
            System.out.println("100<10是錯的");
        }
    }
}

運行結果:

100>10 = true
100<10 = false
100<10是對的

實際上,true 等同于1栅隐,false 等同于0塔嬉,只不過換了個名稱,并單獨地成為一種數(shù)據(jù)類型租悄。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谨究,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泣棋,更是在濱河造成了極大的恐慌胶哲,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件潭辈,死亡現(xiàn)場離奇詭異鸯屿,居然都是意外死亡,警方通過查閱死者的電腦和手機把敢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門寄摆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人修赞,你說我怎么就攤上這事婶恼。” “怎么了榔组?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵熙尉,是天一觀的道長。 經(jīng)常有香客問我搓扯,道長检痰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任锨推,我火速辦了婚禮铅歼,結果婚禮上,老公的妹妹穿的比我還像新娘换可。我一直安慰自己椎椰,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布沾鳄。 她就那樣靜靜地躺著慨飘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓤的,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天休弃,我揣著相機與錄音,去河邊找鬼圈膏。 笑死塔猾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的稽坤。 我是一名探鬼主播丈甸,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼尿褪!你這毒婦竟也來了睦擂?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤茫多,失蹤者是張志新(化名)和其女友劉穎祈匙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體天揖,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡夺欲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了今膊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片些阅。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖斑唬,靈堂內(nèi)的尸體忽然破棺而出市埋,到底是詐尸還是另有隱情,我是刑警寧澤恕刘,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布缤谎,位于F島的核電站,受9級特大地震影響褐着,放射性物質發(fā)生泄漏坷澡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一含蓉、第九天 我趴在偏房一處隱蔽的房頂上張望频敛。 院中可真熱鬧,春花似錦馅扣、人聲如沸斟赚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拗军。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間发侵,已是汗流浹背侈咕。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留器紧,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓楼眷,卻偏偏與公主長得像铲汪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子罐柳,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容