在Java世界里,有這么一句話:“一切都是對(duì)象”,Java語(yǔ)言假設(shè)我們只進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)。Java是一種“純粹”的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,為什么這里“純粹”需要加引號(hào)呢?因?yàn)镴ava中數(shù)據(jù)類(lèi)型除了對(duì)象這種引用類(lèi)型,還有另一種特例:基本類(lèi)型。
引用類(lèi)型
在Java中,引用類(lèi)型的變量非常類(lèi)似于C/C++的指針。引用類(lèi)型指向一個(gè)對(duì)象,指向?qū)ο蟮淖兞渴且米兞?。這些變量在聲明時(shí)被指定為一個(gè)特定的類(lèi)型,比如String,Date等。變量一旦聲明后,類(lèi)型就不能被改變了。對(duì)象、數(shù)組都是引用數(shù)據(jù)類(lèi)型。所有引用類(lèi)型的默認(rèn)值都是null。
什么是對(duì)象?對(duì)象是類(lèi)的一個(gè)實(shí)例,有狀態(tài)和行為。類(lèi)可以看成是創(chuàng)建Java對(duì)象的模板。
對(duì)象如何產(chǎn)生呢?使用關(guān)鍵字new來(lái)創(chuàng)建一個(gè)新的對(duì)象。
Strings=newString("helloworld!");
其中s是一個(gè)引用,指向Java堆中一個(gè)String類(lèi)型內(nèi)容為“helloworld”的對(duì)象。引用不是對(duì)象,引用是用來(lái)操作對(duì)象的。對(duì)于String類(lèi)型,有一個(gè)特殊點(diǎn):
Strings="helloworld";
上述操作也沒(méi)有問(wèn)題,也許有人覺(jué)得,既然String可以這樣來(lái)創(chuàng)建,那么它是不是一個(gè)基本類(lèi)型呢?不是。String可以這樣操作,是因?yàn)镾tring實(shí)在是太常用了,Java對(duì)String做了一些優(yōu)化。
基本類(lèi)型
Java語(yǔ)言提供了八種基本類(lèi)型。六種數(shù)字類(lèi)型(四個(gè)整數(shù)型,兩個(gè)浮點(diǎn)型),一種字符類(lèi)型,還有一種布爾型?;绢?lèi)型不用new來(lái)創(chuàng)建變量,基本類(lèi)型的變量直接存儲(chǔ)“值”,并置于堆棧(區(qū)別于對(duì)象是存儲(chǔ)在堆中)中,因此使用基本類(lèi)型要比引用類(lèi)型更加高效。
byte:
byte數(shù)據(jù)類(lèi)型是8位、有符號(hào)的,以二進(jìn)制補(bǔ)碼表示的整數(shù);
最小值是-128(-2^7);
最大值是127(2^7-1);
默認(rèn)值是0;
byte類(lèi)型用在大型數(shù)組中節(jié)約空間,主要代替整數(shù),因?yàn)閎yte變量占用的空間只有int類(lèi)型的四分之一;
例子:bytea=100,byteb=-50。
short:
short數(shù)據(jù)類(lèi)型是16位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù)
最小值是-32768(-2^15);
最大值是32767(2^15-1);
Short數(shù)據(jù)類(lèi)型也可以像byte那樣節(jié)省空間。一個(gè)short變量是int型變量所占空間的二分之一;
默認(rèn)值是0;
例子:shorts=1000,shortr=-20000。
int:
int數(shù)據(jù)類(lèi)型是32位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù);
最小值是-2,147,483,648(-2^31);
最大值是2,147,483,647(2^31-1);
一般地整型變量默認(rèn)為int類(lèi)型;
默認(rèn)值是0;
例子:inta=100000,intb=-200000。
以上就是長(zhǎng)沙達(dá)內(nèi)教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):java傳輸數(shù)據(jù)類(lèi)型”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java基礎(chǔ)學(xué)習(xí)