Java基礎資料型別 (Elementary Data Type)的小結

來源:互聯網
上載者:User

標籤:java   基礎資料型別 (Elementary Data Type)   

      這篇文章,我們討論一些java的最基本的東西,這些東西我們一般剛剛學java的時候就學過,但是不一定真正明白。正好,我在做一個讀取記憶體的值,涉及到bit位的值的讀取和寫。那就可以討論一個java的基礎資料型別 (Elementary Data Type)的值在機器的詳細情況:

      Java基礎資料型別 (Elementary Data Type)共有八種三類:字元類型char,布爾類型boolean以及數值類型byte、short、int、long、float、double。數值類型又可以分為整數類型byte、short、int、long和浮點數類型float、double。

    Java決定了每種簡單類型的大小。這些大小並不隨著機器結構的變化而變化。這種大小的不可更改正是Java程式具有很強移植能力的原因之一。

    下面,我們就是要分析java基礎資料型別 (Elementary Data Type)的取值範圍和佔多少位元組多少bit(1位元組 = 8 bit)。

代碼如下:

public class BaseDataInfo{ public static void main(String[] args) {  System.out.println("Boolean.FALSE:"+Boolean.FALSE);System.out.println("Boolean.TRUE:"+Boolean.TRUE);  int maxByte = Byte.MAX_VALUE;int minByte = Byte.MIN_VALUE;int sizeByte = Byte.SIZE;System.out.println("Byte.MAX_VALUE:"+maxByte);System.out.println("Byte.MIN_VALUE:"+minByte);System.out.println("Byte.SIZE:"+sizeByte);int maxChar = Character.MAX_VALUE;int minChar = Character.MIN_VALUE;int sizeChar = Character.SIZE;System.out.println("Character.MAX_VALUE:"+maxChar);System.out.println("Character.MIN_VALUE:"+minChar);System.out.println("Character.SIZE:"+sizeChar);int maxShort = Short.MAX_VALUE;int minShort = Short.MIN_VALUE;int sizeShort = Short.SIZE;System.out.println("Short.MAX_VALUE:"+maxShort);System.out.println("Short.MIN_VALUE:"+minShort);System.out.println("Short.SIZE:"+sizeShort);int maxInt = Integer.MAX_VALUE;int minInt = Integer.MIN_VALUE;int sizeInt = Integer.SIZE;int bitCount = Integer.bitCount(10);System.out.println("Integer.MAX_VALUE:"+maxInt);System.out.println("Integer.MIN_VALUE:"+minInt);System.out.println("Integer.SIZE:"+sizeInt);System.out.println("Integer.bitCount(1):"+bitCount);long maxLong = Long.MAX_VALUE;long minLong = Long.MIN_VALUE;int sizeLong = Long.SIZE;System.out.println("Long.MAX_VALUE:"+maxLong);System.out.println("Long.MIN_VALUE:"+minLong);System.out.println("Long.SIZE:"+sizeLong);float maxFloat =  Float.MAX_VALUE;float minFloat =  Float.MIN_VALUE;int sizeFloat = Float.SIZE;System.out.println("Float.MAX_VALUE:"+maxFloat);System.out.println("Float.MIN_VALUE:"+minFloat);System.out.println("Float.SIZE:"+sizeFloat);Double maxDouble =  Double.MAX_VALUE;Double minDouble =  Double.MIN_VALUE;int sizeDouble = Double.SIZE;System.out.println("Double.MAX_VALUE:"+maxDouble);System.out.println("Double.MIN_VALUE:"+minDouble);System.out.println("Double.SIZE:"+sizeDouble);  }}

輸出結果:Boolean.FALSE:false
Boolean.TRUE:true
Byte.MAX_VALUE:127
Byte.MIN_VALUE:-128
Byte.SIZE:8
Character.MAX_VALUE:65535
Character.MIN_VALUE:0
Character.SIZE:16
Short.MAX_VALUE:32767
Short.MIN_VALUE:-32768
Short.SIZE:16
Integer.MAX_VALUE:2147483647
Integer.MIN_VALUE:-2147483648
Integer.SIZE:32
Integer.bitCount(1):2
Long.MAX_VALUE:9223372036854775807
Long.MIN_VALUE:-9223372036854775808
Long.SIZE:64
Float.MAX_VALUE:3.4028235E38
Float.MIN_VALUE:1.4E-45
Float.SIZE:32
Double.MAX_VALUE:1.7976931348623157E308
Double.MIN_VALUE:4.9E-324
Double.SIZE:64

從輸出結果可以看出:

boolean

只有true和false兩個取值

byte

8位,最大儲存資料量是255,存放的資料範圍是-128~127之間

short

16位,最大資料存放區量是65536,資料範圍是-32768~32767之間

int

32位,最大資料存放區容量是2的32次方減1,資料範圍是負的2的31次方到正的2的31次方減1(也就是-2147483648~2147483647)。從int取值範圍可以看,int適合20億層級的整形資料。

long

64位,最大資料存放區容量是2的64次方減1,資料範圍為負的2的63次方到正的2 的63次方減1(也就是-9223372036854775808~9223372036854775807)。從long的取值範圍可以看出,long適合海量級(億億級)的整形資料。

float

32位,資料範圍在3.4e-45~1.4e38,直接賦值時必須在數字後加上f或F。從float的取值範圍可以看出,float適合e38級的float資料。

double

64位,資料範圍在4.9e-324~1.8e308,賦值時可以加d或D也可以不加。從double的取值範圍可以看出,double適合e308的double資料。

char

16位,儲存Unicode碼,用單引號賦值



基礎資料型別 (Elementary Data Type)

boolean

byte

char

short

int

long

float

double

bit位元

1

8

16

16

32

64

32

64

位元組位元

0.125

1

2

2

4

8

4

8

封裝類

Boolean

Byte

Character

Short

Integer

Long

Float

Double

參考資料:Java基礎資料型別 (Elementary Data Type)總結
http://www.cnblogs.com/doit8791/archive/2012/05/25/2517448.html

Java基礎資料型別 (Elementary Data Type)的小結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.