詳解 Java 的八大基本類型,寫得很是好!

自從Java發佈以來,基本數據類型就是Java語言中重要的一部分,本文就來詳細介紹下每種基本類型的具體使用方法和限制。java

幾年前,我開始編寫了一系列有關Java入門的文章,我以爲有必要將其中一些很是細節的內容單獨拿出來寫成文章。這樣,那些入門內容就更容易理解了。首先,我來介紹一下有關Java 8中的基本類型。git

如題所述,Java語言自己有8種基本類型。在下面幾節中,就讓咱們一塊兒來看看這8種基本類型。我將針對每種基本類型,介紹具體的使用方法和限制。github

int基本類型面試

首先,Java的整數是32位有符號(即包括正值和負值)整數,由int關鍵字表示:後端

int someNumber = 10;

固然,像全部基本類型同樣,整型有本身的限制。因爲它只有32位,因此其取值範圍爲-2147483648到2147483647。這數字很大嘛!固然,咱們能夠在DrJava的交互面板中用下述技巧來確認:安全

Integer.MAX_VALUE // Prints 2,147,483,647
Integer.MIN_VALUE // Prints -2,147,483,648

天然地,對於簡單的計算而言,int是最經常使用的整數類型。若是你須要更大的數字範圍,請參照下面的long。微信

double基本類型多線程

與int不一樣,Java的雙精度類型是64位浮點數,由double關鍵字表示:架構

double someNumber = 110.55;

須要提醒的是,浮點數實際上就是實數。換句話說,雙精度浮點數中包含小數點。因爲雙精度類型是64位,它能表示的數字要比整型多不少。一樣,咱們能夠利用交互面板來確認雙精度類型的範圍:工具

Double.MAX_VALUE // Prints 1.7976931348623157E308
Double.MIN_VALUE // Prints 4.9E-324

須要注意的是,負的指數表示的是很是小的數字,而不是很是大的負數。因此這裏的取值範圍跟整數不是徹底同樣。通常而言,double是在Java中使用浮點數的默認選擇。另外一個選擇是float。

char基本類型

咱們已經看到,Java的字符類型表示16位字符,由char關鍵字表示:

char someCharacter = 'f';

Java中全部的字符都用單引號表示。同時,雙引號用來表示字符串。咱們稍後會討論字符串。與往常同樣,咱們能夠經過下面的代碼找出字符的範圍:

Character.MAX_VALUE // Prints '???'
Character.MIN_VALUE // Prints ''

爲了讓這個範圍有意義,咱們能夠將結果轉換成整數(稍後會更多地介紹):

(int) Character.MAX_VALUE // Prints 65535
(int) Character.MIN_VALUE // Prints 0

可見,char類型是Java中惟一的無符號類型。換句話說,字符的取值範圍爲0到65535,每一個值映射到特定的字符。若是須要建立該範圍以外的字符,能夠將一對字符組合起來。

參見「在Java中反轉字符串」(https://therenegadecoder.com/...)這篇文章中的例子。關注微信公衆號:Java技術棧,在後臺回覆:java,能夠獲取我整理的 N 篇最新 Java 技術教程,都是乾貨。

byte基本類型

當咱們討論二進制時,咱們討論的其實是比特的概念。而8個比特組成一個字節,字節是Java支持的基本類型之一。本質上,byte類型只不過是取值範圍爲-128到127的8位整數。

能夠猜到,字節由byte關鍵字表示:

byte someByte = 20;

一樣,能夠利用下面的代碼片斷來確認byte類型的取值範圍:

Byte.MAX_VALUE // Prints 127
Byte.MIN_VALUE // Prints -128

根據個人經驗,byte類型在讀取和處理原始數據時很是有用。可是通常而言,咱們不會使用它,由於取值範圍過小了。推薦:爲何byte取值-128~127? 這是爲何呢?

short基本類型

short是另外一種整數類型,但它佔用的空間要比int類型更小。實際上,它的佔用空間正好是int類型的一半,爲16位,由short關鍵字表示:

short someNumber = 11;

short類型的取值範圍也只有整數的一半,咱們能夠用下述代碼確認:

Short.MAX_VALUE // Prints 32767
Short.MIN_VALUE // Prints -32768

在實際應用中,short只有65546個可能的值。在內存空間和磁盤空間受限的狀況下,咱們會使用byte和short。但在其餘狀況下,在定義整數時默認使用int更爲安全。

long基本類型

與short相反的是long基本類型,即長整數。該類型用來表示比int類型還要大的很是大的數。long類型是64位有符號整數,其取值範圍超過了10的18次方。一般,長整數用long關鍵字表示:

long someBigNumber = 1013401346173L;

下面的代碼能夠查看64位值究竟有多大:

Long.MAX_VALUE // Prints 9,223,372,036,854,775,807
Long.MIN_VALUE // Prints -9,223,372,036,854,775,808

也許,long能夠用來計算光在必定時間內走過的距離。光在一秒內大約傳播30萬公里。若是編寫一個程序來跟蹤光走過的距離,那麼7秒後int類型就超出範圍類,而long類型可以計算大約975年。

不相信嗎?能夠看看這個gist

https://gist.github.com/jrg94...)中的計算。

float基本類型

雖然咱們一般使用64位浮點數類型double,但Java還支持另外一種浮點數類型,叫作float。但與int相似,Java默認狀況下使用double表示浮點數。無論怎樣,咱們能夠用float來表示32位浮點數類型:

float someNumber = 11.4f;

float類型的範圍以下:

Float.MAX_VALUE // Prints 3.4028235E38
Float.MIN_VALUE // Prints 1.4E-45

可見,32位浮點數的範圍和精度都要小得多。若是不須要double的精度,同時節省一半的空間,那麼能夠選擇float類型。

boolean基本類型

最後咱們來討論一下boolean類型。定義布爾類型可使用boolean關鍵字:

boolean isBool = true;

布爾類型有些特殊,不像其餘基本類型那樣,它們表示的不是數字值。實際上,以前使用的MAX_VALUE和MIN_VALUE技巧在這裏不能使用。相反,它表示的是true或false,即真和假。

在此,我不打算詳細介紹布爾類型,由於在Java中作任何事情都會涉及到布爾類型。儘管如此,咱們一般不會明確地聲明布爾類型。相反,許多代碼邏輯中的比較操做的結果都是布爾類型。)

原文: https://dev.to/renegadecoder9...
做者:Jeremy Grifski,譯者:彎月,責編:郭芮
出品:CSDN(ID:CSDNnews

推薦去個人博客閱讀更多:

1.Java JVM、集合、多線程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、後端、架構、阿里巴巴等大廠最新面試題

以爲不錯,別忘了點贊+轉發哦!

相關文章
相關標籤/搜索