日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

各类数据类型的用法java_Java各种数据类型详细介绍及其区别

發(fā)布時(shí)間:2025/3/21 java 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 各类数据类型的用法java_Java各种数据类型详细介绍及其区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基本類型,或者叫做內(nèi)置類型,是java中不同于類的特殊類型。

java中的簡(jiǎn)單類型從概念上分為四種:實(shí)數(shù)、整數(shù)、字符、布爾值。但是有一點(diǎn)需要說明的是,java里面只有八種原始類型,其列表如下:

實(shí)數(shù):double、float

整數(shù):byte、short、int、long

字符:char

布爾值:boolean

復(fù)雜類型和基本類型的內(nèi)存模型本質(zhì)上是不一樣的,簡(jiǎn)單數(shù)據(jù)類型的存儲(chǔ)原理是這樣的:所有的簡(jiǎn)單數(shù)據(jù)類型不存在“引用”的概念,簡(jiǎn)單數(shù)據(jù)類型都是直接存儲(chǔ)在內(nèi)存中的內(nèi)存棧上的,數(shù)據(jù)本身的值就是存儲(chǔ)在棧空間里面,而java語言里面只有這八種數(shù)據(jù)類型是這種存儲(chǔ)模型;而其他的只要是繼承于Object類的復(fù)雜數(shù)據(jù)類型都是按照java里面存儲(chǔ)對(duì)象的內(nèi)存模型來進(jìn)行數(shù)據(jù)存儲(chǔ)的,使用java內(nèi)存堆和內(nèi)存棧來進(jìn)行這種類型的數(shù)據(jù)存儲(chǔ),簡(jiǎn)單地講,“引用”是存儲(chǔ)在有序的內(nèi)存棧上的,而對(duì)象本身的值存儲(chǔ)在內(nèi)存堆上的。

java的簡(jiǎn)單數(shù)據(jù)講解列表如下:

int:int為整數(shù)類型,在存儲(chǔ)的時(shí)候,用4個(gè)字節(jié)存儲(chǔ),范圍為-2,147,483,648到2,147,483,647,在變量初始化的時(shí)候,int類型的默認(rèn)值為0。

short:short也屬于整數(shù)類型,在存儲(chǔ)的時(shí)候,用2個(gè)字節(jié)存儲(chǔ),范圍為-32,768到32,767,在變量初始化的時(shí)候,short類型的默認(rèn)值為0,一般情況下,因?yàn)閖ava本身轉(zhuǎn)型的原因,可以直接寫為0。

long:long也屬于整數(shù)類型,在存儲(chǔ)的時(shí)候,用8個(gè)字節(jié)存儲(chǔ),范圍為-9,223,372,036,854,775,808到9,223,372,036,?854,775,807,在變量初始化的時(shí)候,long類型的默認(rèn)值為0L或0l,也可直接寫為0。

byte:byte同樣屬于整數(shù)類型,在存儲(chǔ)的時(shí)候,用1個(gè)字節(jié)來存儲(chǔ),范圍為-128到127,在變量初始化的時(shí)候,byte類型的默認(rèn)值也為0。

float:float屬于實(shí)數(shù)類型,在存儲(chǔ)的時(shí)候,用4個(gè)字節(jié)來存儲(chǔ),范圍為32位IEEEE?754單精度范圍,在變量初始化的時(shí)候,float的默認(rèn)值為0.0f或0.0F,在初始化的時(shí)候可以寫0.0。

double:double同樣屬于實(shí)數(shù)類型,在存儲(chǔ)的時(shí)候,用8個(gè)字節(jié)來存儲(chǔ),范圍為64位IEEE?754雙精度范圍,在變量初始化的時(shí)候,double的默認(rèn)值為0.0。

char:char屬于字符類型,在存儲(chǔ)的時(shí)候用2個(gè)字節(jié)來存儲(chǔ),因?yàn)閖ava本身的字符集不是用ASCII碼來進(jìn)行存儲(chǔ),是使用的16位Unicode字符集,它的字符范圍即是Unicode的字符范圍,在變量初始化的時(shí)候,char類型的默認(rèn)值為'u0000'。

boolean:boolean屬于布爾類型,在存儲(chǔ)的時(shí)候不使用字節(jié),僅僅使用1位來存儲(chǔ),范圍僅僅為0和1,其字面量為true和false,而boolean變量在初始化的時(shí)候變量的默認(rèn)值為false。

Integer是int的封裝類,里面有很多進(jìn)行處理的靜態(tài)方法

Integer是對(duì)象而int不是,內(nèi)存的分配位置也不一樣

int是一種基本數(shù)據(jù)類型,而Integer是相應(yīng)于int的類類型,稱為對(duì)象包裝。

實(shí)現(xiàn)這種對(duì)象包裝的目的主要是因?yàn)轭惸軌蛱峁┍匾姆椒?#xff0c;用于實(shí)現(xiàn)基本數(shù)據(jù)類型的數(shù)值與可打印字符串之間的轉(zhuǎn)換,以及一些其他的實(shí)用程序方法;

另外,有些數(shù)據(jù)結(jié)構(gòu)庫類只能操作對(duì)象,而不支持基本數(shù)據(jù)類型的變量,包裝類提供一種便利的方式,能夠把基本數(shù)據(jù)類型轉(zhuǎn)換成等價(jià)的對(duì)象,從而可以利用數(shù)據(jù)結(jié)構(gòu)庫類進(jìn)行處理。

int?是基本類型,(int)(Math.Random()*100)就是一個(gè)數(shù),可以進(jìn)行加見乘除。Integer是class?,那么new?Integer(temp)就是一個(gè)對(duì)象了,可以用到Integer這個(gè)class的方法,例如用intvalue()可以返回這個(gè)int的值。int?a=1;這是基本數(shù)據(jù)類型是能參與運(yùn)算的.而Integer?b=?new?Integer(1);c=b.floatvalue;Float?a=?new?Float(null);是可以的用Float初始化一個(gè)對(duì)象這個(gè)a有很多方法而float?a;就沒有因?yàn)樵紱]有引用類,java提供兩種不同的類型:引用類型(或者封裝類型,Warpper)和原始類型(或內(nèi)置類型,Primitive)。Int是java的原始數(shù)據(jù)類型,Integer是java為int提供的封裝類。java為每個(gè)原始類型提供了封裝類。

原始類型?封裝類

boolean?Boolean

char?Character

byte?Byte

short?Short

int?Integer

long?Long

float?Float

double?Double

引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),當(dāng)引用類型和原始類型用作某個(gè)類的實(shí)例數(shù)據(jù)時(shí)所指定的缺省值。對(duì)象引用實(shí)例變量的缺省值為?null,而原始類型實(shí)例變量的缺省值與它們的類型有關(guān)。

1?、Boolean?VS?boolean

public?final?class?Boolean?extendsObject??implementsSerializable,Comparable

Boolean?類將基本類型為boolean的值包裝在一個(gè)對(duì)象中。一個(gè)Boolean類型的對(duì)象只包含一個(gè)類型為boolean的字段。此外,此類還為boolean和String的相互轉(zhuǎn)換提供了許多方法,并提供了處理?boolean時(shí)非常有用的其他一些常量和方法。

2、?Byte?VS?byte

public?final?class?Byteextends?NumberimplementsComparable

Byte類將基本類型byte的值包裝在一個(gè)對(duì)象中。一個(gè)Byte類型的對(duì)象只包含一個(gè)類型為byte的字段。此外,該類還為byte和String的相互轉(zhuǎn)換提供了幾種方法,并提供了處理byte時(shí)非常有用的其他一些常量和方法。

3、Character?VS?char

public?final?class?Character?extends?Object??implements?Serializable,?Comparable

Character類在對(duì)象中包裝一個(gè)基本類型char的值。

Character類型的對(duì)象包含類型為char的單個(gè)字段。此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數(shù)字,等等),并將字符從大寫轉(zhuǎn)換成小寫,反之亦然。

4?、Double?VS?double

public?final?class?Double?extends?Number?implements?Comparable

Double類在對(duì)象中包裝了一個(gè)基本類型double的值。每個(gè)Double類型的對(duì)象都包含一個(gè)double類型的字段。此外,該類還提供了多個(gè)方法,可以將double轉(zhuǎn)換為String,將String轉(zhuǎn)換為double,還提供了其他一些處理double時(shí)有用的常量和方法。

5、Float?VS?float

public?final?class?Float?extends?Number?implements?Comparable

Float類在對(duì)象中包裝了一個(gè)float基本類型的值。Float類型的對(duì)象包含一個(gè)float類型的字段。此外,此類提供了幾種方法,可在float類型和String類型之間互相轉(zhuǎn)換,并且還提供了處理float類型時(shí)非常有用的其他一些常量和方法。

6、Integer?VS?int

public?final?class?Integer?extends?Number?implements?Comparable

Integer類在對(duì)象中包裝了一個(gè)基本類型int的值。Integer類型的對(duì)象包含一個(gè)int類型的字段。

此外,該類提供了多個(gè)方法,能在int類型和String類型之間互相轉(zhuǎn)換,還提供了處理int類型時(shí)非常有用的其他一些常量和方法。

7?Long?VS?long

public?final?class?Long?extends?Number?implements?Comparable

Long類在對(duì)象中封裝了基本類型long的值。每個(gè)Long類型的對(duì)象都包含一個(gè)long類型的字段。

此外,該類提供了多個(gè)方法,可以將long轉(zhuǎn)換為String,將String轉(zhuǎn)換為long,除此之外,還提供了其他一些處理long時(shí)有用的常量和方法。

8、Short?VS?short

public?final?class?Short?extends?Number?implements?Comparable

Short類在對(duì)象中包裝基本類型short的值。一個(gè)Short類型的對(duì)象只包含一個(gè)short類型的字段。另外,該類提供了多個(gè)方法,可以將short轉(zhuǎn)換為String,將String轉(zhuǎn)換為short,同時(shí)還提供了其他一些處理short時(shí)有用的常量和方法。

9、public?final?class?Voidextends?Object

Void?類是一個(gè)不可實(shí)例化的占位符類,它保持一個(gè)對(duì)代表JAVA關(guān)鍵字void的Class對(duì)象的引用。類的對(duì)象才能為null,不能把null賦值給一個(gè)變量不能,如int?m=null;但可以String?s=null;因?yàn)镾tring是個(gè)類。

總結(jié)

以上是生活随笔為你收集整理的各类数据类型的用法java_Java各种数据类型详细介绍及其区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。