各类数据类型的用法java_Java各种数据类型详细介绍及其区别
基本類型,或者叫做內置類型,是java中不同于類的特殊類型。
java中的簡單類型從概念上分為四種:實數、整數、字符、布爾值。但是有一點需要說明的是,java里面只有八種原始類型,其列表如下:
實數:double、float
整數:byte、short、int、long
字符:char
布爾值:boolean
復雜類型和基本類型的內存模型本質上是不一樣的,簡單數據類型的存儲原理是這樣的:所有的簡單數據類型不存在“引用”的概念,簡單數據類型都是直接存儲在內存中的內存棧上的,數據本身的值就是存儲在棧空間里面,而java語言里面只有這八種數據類型是這種存儲模型;而其他的只要是繼承于Object類的復雜數據類型都是按照java里面存儲對象的內存模型來進行數據存儲的,使用java內存堆和內存棧來進行這種類型的數據存儲,簡單地講,“引用”是存儲在有序的內存棧上的,而對象本身的值存儲在內存堆上的。
java的簡單數據講解列表如下:
int:int為整數類型,在存儲的時候,用4個字節存儲,范圍為-2,147,483,648到2,147,483,647,在變量初始化的時候,int類型的默認值為0。
short:short也屬于整數類型,在存儲的時候,用2個字節存儲,范圍為-32,768到32,767,在變量初始化的時候,short類型的默認值為0,一般情況下,因為java本身轉型的原因,可以直接寫為0。
long:long也屬于整數類型,在存儲的時候,用8個字節存儲,范圍為-9,223,372,036,854,775,808到9,223,372,036,?854,775,807,在變量初始化的時候,long類型的默認值為0L或0l,也可直接寫為0。
byte:byte同樣屬于整數類型,在存儲的時候,用1個字節來存儲,范圍為-128到127,在變量初始化的時候,byte類型的默認值也為0。
float:float屬于實數類型,在存儲的時候,用4個字節來存儲,范圍為32位IEEEE?754單精度范圍,在變量初始化的時候,float的默認值為0.0f或0.0F,在初始化的時候可以寫0.0。
double:double同樣屬于實數類型,在存儲的時候,用8個字節來存儲,范圍為64位IEEE?754雙精度范圍,在變量初始化的時候,double的默認值為0.0。
char:char屬于字符類型,在存儲的時候用2個字節來存儲,因為java本身的字符集不是用ASCII碼來進行存儲,是使用的16位Unicode字符集,它的字符范圍即是Unicode的字符范圍,在變量初始化的時候,char類型的默認值為'u0000'。
boolean:boolean屬于布爾類型,在存儲的時候不使用字節,僅僅使用1位來存儲,范圍僅僅為0和1,其字面量為true和false,而boolean變量在初始化的時候變量的默認值為false。
Integer是int的封裝類,里面有很多進行處理的靜態方法
Integer是對象而int不是,內存的分配位置也不一樣
int是一種基本數據類型,而Integer是相應于int的類類型,稱為對象包裝。
實現這種對象包裝的目的主要是因為類能夠提供必要的方法,用于實現基本數據類型的數值與可打印字符串之間的轉換,以及一些其他的實用程序方法;
另外,有些數據結構庫類只能操作對象,而不支持基本數據類型的變量,包裝類提供一種便利的方式,能夠把基本數據類型轉換成等價的對象,從而可以利用數據結構庫類進行處理。
int?是基本類型,(int)(Math.Random()*100)就是一個數,可以進行加見乘除。Integer是class?,那么new?Integer(temp)就是一個對象了,可以用到Integer這個class的方法,例如用intvalue()可以返回這個int的值。int?a=1;這是基本數據類型是能參與運算的.而Integer?b=?new?Integer(1);c=b.floatvalue;Float?a=?new?Float(null);是可以的用Float初始化一個對象這個a有很多方法而float?a;就沒有因為原始沒有引用類,java提供兩種不同的類型:引用類型(或者封裝類型,Warpper)和原始類型(或內置類型,Primitive)。Int是java的原始數據類型,Integer是java為int提供的封裝類。java為每個原始類型提供了封裝類。
原始類型?封裝類
boolean?Boolean
char?Character
byte?Byte
short?Short
int?Integer
long?Long
float?Float
double?Double
引用類型和原始類型的行為完全不同,并且它們具有不同的語義。引用類型和原始類型具有不同的特征和用法,它們包括:大小和速度問題,這種類型以哪種類型的數據結構存儲,當引用類型和原始類型用作某個類的實例數據時所指定的缺省值。對象引用實例變量的缺省值為?null,而原始類型實例變量的缺省值與它們的類型有關。
1?、Boolean?VS?boolean
public?final?class?Boolean?extendsObject??implementsSerializable,Comparable
Boolean?類將基本類型為boolean的值包裝在一個對象中。一個Boolean類型的對象只包含一個類型為boolean的字段。此外,此類還為boolean和String的相互轉換提供了許多方法,并提供了處理?boolean時非常有用的其他一些常量和方法。
2、?Byte?VS?byte
public?final?class?Byteextends?NumberimplementsComparable
Byte類將基本類型byte的值包裝在一個對象中。一個Byte類型的對象只包含一個類型為byte的字段。此外,該類還為byte和String的相互轉換提供了幾種方法,并提供了處理byte時非常有用的其他一些常量和方法。
3、Character?VS?char
public?final?class?Character?extends?Object??implements?Serializable,?Comparable
Character類在對象中包裝一個基本類型char的值。
Character類型的對象包含類型為char的單個字段。此外,該類提供了幾種方法,以確定字符的類別(小寫字母,數字,等等),并將字符從大寫轉換成小寫,反之亦然。
4?、Double?VS?double
public?final?class?Double?extends?Number?implements?Comparable
Double類在對象中包裝了一個基本類型double的值。每個Double類型的對象都包含一個double類型的字段。此外,該類還提供了多個方法,可以將double轉換為String,將String轉換為double,還提供了其他一些處理double時有用的常量和方法。
5、Float?VS?float
public?final?class?Float?extends?Number?implements?Comparable
Float類在對象中包裝了一個float基本類型的值。Float類型的對象包含一個float類型的字段。此外,此類提供了幾種方法,可在float類型和String類型之間互相轉換,并且還提供了處理float類型時非常有用的其他一些常量和方法。
6、Integer?VS?int
public?final?class?Integer?extends?Number?implements?Comparable
Integer類在對象中包裝了一個基本類型int的值。Integer類型的對象包含一個int類型的字段。
此外,該類提供了多個方法,能在int類型和String類型之間互相轉換,還提供了處理int類型時非常有用的其他一些常量和方法。
7?Long?VS?long
public?final?class?Long?extends?Number?implements?Comparable
Long類在對象中封裝了基本類型long的值。每個Long類型的對象都包含一個long類型的字段。
此外,該類提供了多個方法,可以將long轉換為String,將String轉換為long,除此之外,還提供了其他一些處理long時有用的常量和方法。
8、Short?VS?short
public?final?class?Short?extends?Number?implements?Comparable
Short類在對象中包裝基本類型short的值。一個Short類型的對象只包含一個short類型的字段。另外,該類提供了多個方法,可以將short轉換為String,將String轉換為short,同時還提供了其他一些處理short時有用的常量和方法。
9、public?final?class?Voidextends?Object
Void?類是一個不可實例化的占位符類,它保持一個對代表JAVA關鍵字void的Class對象的引用。類的對象才能為null,不能把null賦值給一個變量不能,如int?m=null;但可以String?s=null;因為String是個類。
總結
以上是生活随笔為你收集整理的各类数据类型的用法java_Java各种数据类型详细介绍及其区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java新建测试程序_java – 如何
- 下一篇: java找出价格最低_SQL查询查找每个