Java簡明教程系列(5) - 基本數據類型

變量其實是內存中保留的一個區域用來存儲一些值,這也就是說,當我們創建一個變量時,我們也就在內存中保留了一小塊存儲空間。

根據變量指定的數據類型,操作系統分配存儲空間並決定這一塊保留空間能存儲哪些內容。因此,我們通過給變量指定不同的數據類型,就可以在這些變量中存放整型數據,小數型數據或字符型數據。

往大的分類上來說,Java中有兩種數據類型:

  • 原始數據類型
  • 引用(對象)數據類型

原始數據類型

Java支持8種原始數據類型。原始數據類型在Java語言中被預先定義了,定義這類數據類型時只需使用Java中的關鍵字即可。我們來具體看下這8種數據類型。

byte(字節)類型

  • byte數據類型是8比特位帶符號的二進制補碼整型
  • 允許存儲的最小值是-128(-2^7,-2的7次方)
  • 最大值是127(2^7-1)
  • 默認值是0
  • byte數據類型是用於保存大型數組時節省內存空間,大多數時候是替代int類型,因爲byte類型佔用的存儲空間只有int類型的四分之一。
  • 用法示例:byte a = 100, byte b = -50

short(短整型)類型

  • short數據類型是16比特位帶符號的二進制補碼整型
  • 允許存儲的最小值是-32768(-2^15)
  • 最大值是32767(2^15-1)
  • short數據類型和byte類型一樣都可以用來節省內存空間,short類型佔用的空間是int類型的一半
  • 默認值是0
  • 用法示例:short s = 10000, short r = -20000

int(整型)類型

  • int數據類型是32比特位帶符號的二進制補碼整型
  • 最小值是-2,147,483,648(-2^31)
  • 最大值是2,147,483,647(2^31-1)
  • 在不關心內存開銷的情況下,int類型通常用於整型的默認數據類型
  • 默認值是0
  • 用法示例:int a = 100000,int b = -200000

long(長整型)類型

  • long數據類型是64比特位帶符號的二進制補碼整型
  • 最小值是-9,223,372,036,854,775,808(-2^63)
  • 最大值是9,223,372,036,854,775,807(2^63-1)
  • long類型一般用於超過int類型數值範圍的情形
  • 默認值是0L(注意後面有個L)
  • 用法示例:long a = 100000L, long b = -20000L

float(單精度浮點型)類型

  • float是IEEE 754標準下的單精度浮點型,佔32比特位
  • float主要用在保存包含浮點數的大型數組時,可以節省存儲空間
  • 默認值是0.0f(注意後面有個f)
  • float不能被用於存儲精度非常高的數值,例如貨幣計量
  • 用法示例:float f1 = 234.5f

double(雙精度浮點型)類型

  • double數據類型是IEEE 754標準下的雙精度浮點型,佔64比特位
  • double類型通常是十進制數值默認使用的數據類型,通常也是默認選擇使用這個類型。
  • double類型不應該被用於精度非常高的數值,例如貨幣計量
  • 默認值是0.0d
  • 用法示例:double d1 = 123.4

boolean(布爾)類型

  • boolean類型表示1個比特位的信息
  • boolean類型只有兩種取值:true和false
  • 這個數據類型用於簡單的真/假條件判斷標識
  • 默認值是false
  • 用法示例:boolean one = true

char(字符)類型

  • char數據類型是單個的16比特位的Unicode字符
  • 最小的值是字符'0',也就是Unicode編碼'\u0000'
  • 最大的值是Unicode編碼'\uffff'
  • char類型可以用於存儲任意字符
  • 用法示例:char letterA = 'A'

引用數據類型

  • 引用變量由類中定義的構造器創建,其被用於訪問對象,這種變量被聲明爲一種不可改變的特定類型,例如前面章節中提到的Employee和Puppy類等等。
  • 類對象和各種類型的數組變量都屬於引用數據類型。
  • 所有引用變量的默認值都是null。
  • 引用變量可以被用來指向聲明類型或兼容類型的任何對象。
  • 用法示例:Animal animal = new Animal("dog");

Java轉義字符

轉義字符指的是一些能表示源碼固定值的字符,在代碼中可以直接替代而不需要經過計算。字符可以分配給任何原始類型變量,例如:

byte a = 68;
char a = 'A';

byte,int,long和short可以被表示爲10進制,16進制或8進制。數值前面加上0表示8進制,數值前面加0x表示16進制。這些數值前面的0和0x就是用於轉義的。

int decimal = 100;
int octal = 0144;
int hexa = 0x64;

Java中字符串的表示方法和其它編程語言中的基本類似,都是用雙引號引起來的中間部分的一串字符。下面是幾個字符串的例子:

"Hello world"
"two\nline"
"\"This is in quotes\""

String和char類型的變量值可以用Unicode來表示,例如:

char a = '\u0001';
String a = "\u0001";

Java語言中支持一些用於String和char類型中的轉義字符,有這些:

符號 字符含義
\n Newline,換行 (0x0a)
\r Carriage return,回車 (0x0d)
\f Formfeed,換頁 (0x0c)
\b Backspace,退格 (0x08)
\s Space,空格 (0x20)
\t tab,製表符
\" Double quote,雙引號
\' Single quote,單引號
\\ backslash,反斜槓
\ddd Octal character,八進制字符 (ddd)
\uxxxx Hexadecimal UNICODE character,十六進制Unicode編碼 (xxxx)

本篇小結

更多交流,歡迎加羣(584017112):

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章