IT兄弟連 Java語法教程 數據類型2

  • 2019 年 10 月 5 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/94067726

整型

Java定義了4種整數類型:byte、short、int和long。所有這些類型都是有符號的、正或負的整數。Java不支援無符號的、只是正值的整數。許多其它電腦語言同時支援有符號和無符號整數。然而,Java的設計者覺得無符號整數不是必需的。特別是,它們覺得「無符號」的概念通常用於指定「高階位」(high-order bit)的行為,高階位用於定義整形值的符號。在本書後面的章節中將會看到,Java通過添加特殊的「無符號右移」運算符,以稍微不同的方式管理高階位的含義。因此,Java消除了對無符號整數類型的需要。

不應該將整數類型的寬度看成整數所消耗的存儲量,而應當理解成定義這種類型的變數和表達式的行為。Java運行時環境可以自由使用它們希望的、任何大小的空間。只要類型的行為符合聲明它們時的約定即可。這些整數類型的寬度和範圍相差很大,如表所示:

表 整數類型的寬度和範圍

接下來看一看每種整數類型。

● byte

最小的整數類型是byte。它是有符號的8位整數類型。範圍為−128~127。當操作來自網路或文件的數據流時,byte類型的變數特別有用。當操縱與Java的其它內置類型不直接兼容的二進位數據時,byte類型的變數也很有用。

byte變數是通過關鍵字byte聲明的。例如,下面聲明了兩個byte變數b和c:

byte b;

byte c;

● short

short是有符號的16位整數類型,它的範圍為−32768~32767。它可能是最不常用的變數類型。short類型變數通過關鍵字byte聲明的。例如,下面聲明了兩個short變數s和t:

short s;

short t;

● int

最常用的整數類型就是int類型。它是有符號的32位整數類型,範圍為-2147473648~2147483647。除了其它用途外,int類型變數通常用於控制循環和索引數組。對於那些不需要更大範圍的int類型數值的情況,您可能會認為使用範圍更小的byte和short類型效率更高些,然而事實並非如此。原因是如果在表達式中使用byte和short值,當對表達式求值時會被提升為int類型。所以,當需要使用整數類型時,int通常時最好的選擇。int類型變數通過關鍵字int聲明的。例如,下面聲明了兩個int變數i和n:

int i;

int n;

● long

long是有符號的64位整數類型,對於那些int類型不足以容納的整數,long類型是最有用的。long類型的範圍相當大,這使得當需要很大的整數時它非常有用。long類型變數通過關鍵字long聲明的。例如,下面聲明了兩個long變數l和g:

long l;

long g;

浮點型

浮點數也稱為實數(real number),當計算需要小數精度的表達式時使用。例如,求平方根這類計算以及正弦和餘弦這類超越數,保存結果就需要使用浮點類型。Java實現了IEEE-754標準集的浮點類型和運算符。Java中有兩種浮點類型:float和double,它們分別表示單精度浮點數和雙精度浮點數。它們的寬度和精度如表3.3所示:

表浮點類型的寬度和範圍

下面詳細解釋每種浮點類型

● float

float類型表示使用32位存儲的單精度(single-precision)數值。在某些處理器上,單精度運算速度更快,並且佔用的空間是雙精度的一半,但是當數值非常小時會變得不精確。如果需要小數部分,並且精度要求不是很高時,float類型的變數是很有用的。例如表示商品單價時可以使用float類型。float類型變數通過關鍵字float聲明的。例如,下面聲明了兩個float變數f和o:

float f;

float o;

● double

雙精度使用double關鍵字表示,並使用64位儲存數值,在針對高速數學運算進行了優化的某些現代處理器上,實際上雙精度數值的運算速度更快。所有超越數學函數,如sin()、cos()和sqtr(),都返回雙精度值。如果需要在很多次迭代運算中保持精度,或是操作非常大的數值,double類型是最佳選擇。double類型變數通過關鍵字double聲明的。例如,下面聲明了兩個double變數u和l:

double u;

double l;

Tags: