Java數據類型

什麼是數據類型java

數據類型是用來告訴內存申請的變量應該分配多少空間,而且這個變量分配的空間只能用來儲存該類型的數據。所以,經過定義不一樣類型的變量,能夠在內存中儲存整數、小數或者字符。數組

 

Java 的兩大數據類型大數據

  • 內置數據類型
  • 引用數據類型

 

內置數據類型spa

Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。指針

 

byte:code

  • byte 數據類型是8位、有符號的,以二進制補碼錶示的整數;
  • 最小值是 -128(-2^7)
  • 最大值是 127(2^7-1)
  • 默認值是 0
  • byte 類型用在大型數組中節約空間,主要代替整數,由於 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 = 1000; 
 short r = –20000;

 

int:blog

  • 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)
  • 這種類型主要使用在須要比較大整數的系統上
  • 默認值是 0L
  • 例:
// "L"理論上不分大小寫,可是寫成"l"容易與數字"1"混淆,不容易分辯。因此最好大寫 
 long a = 100000L;
 long b = -200000L;

 

float:class

  • float 數據類型是單精度、32位、符合IEEE 754標準的浮點數
  • float 在儲存大型浮點數組的時候可節省內存空間
  • 默認值是 0.0f
  • 浮點數不能用來表示精確的值,如貨幣
  • 例:
float f1 = 234.5f;

 

double:

  • double 數據類型是雙精度、64 位、符合IEEE 754標準的浮點數
  • 浮點數的默認類型爲double類型
  • double類型一樣不能表示精確的值,如貨幣
  • 默認值是 0.0d
  • 例:
double d1 = 123.4;

 

boolean:

  • boolean數據類型表示一位的信息
  • 只有兩個取值:true 和 false
  • 這種類型只做爲一種標誌來記錄 true/false 狀況
  • 默認值是 false
  • 例:
 boolean state = true;

 

char:

  • char類型是一個單一的 16 位 Unicode 字符
  • 最小值是 \u0000(即爲0)
  • 最大值是 \uffff(即爲65,535)
  • char 數據類型能夠儲存任何字符
  • 例:
char letter = 'A';

 

注:對於數值類型的基本類型的取值範圍,咱們不必強制去記憶,由於它們的值都已經以常量的形式定義在對應的包裝類中了。能夠直接輸出包裝類的SIZE、MIN_VALUE、MAX_VALUE來獲取對應的二進制位數、最小值和最大值。以int爲例:

 System.out.println("基本類型:int 二進制位數:" + Integer.SIZE);  
 System.out.println("包裝類:java.lang.Integer");  
 System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);  
 System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);

 

引用類型

  • 在Java中,引用類型的變量很是相似於C/C++的指針。引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定爲一個特定的類型,好比 Car、Flower等。變量一旦聲明後,類型就不能被改變了。
  • 對象、數組都是引用數據類型。
  • 全部引用類型的默認值都是null。
  • 一個引用變量能夠用來引用任何與之兼容的類型。
  • 例:
 // 咱們會有一個 車 類,實例出一個小寶馬哈哈哈
 Car xiaobaoma= new Car("xiaobaoma");

 

基本數據類型與包裝類對應

short           Short    

int              Integer

long            Long

char           Char

float           Float

double        Double

boolean      Boolean

注:基本數據類型的包裝類是一個類,是引用數據類型。

 

Java 常量

在程序運行時不想被修改的變量能夠定義成常量,用final關鍵字修飾。

 // 常量名也能夠用小寫,可是爲了便於識別,一般使用大寫字母表示常量哦
 final double PI = 3.1415927;

 

自動類型轉換

整型、常量、字符型數據能夠混合運算。運算中,不一樣類型的數據先轉化爲同一類型,而後進行運算。

 // 低  ------------------------------------>  高
 // byte, short, char—> int —> long—> float —> double

數據類型轉換必須知足以下規則:

  • 1. 不能對boolean類型進行類型轉換。

  • 2. 不能把對象類型轉換成不相關類的對象。

  • 3. 在把容量大的類型轉換爲容量小的類型時必須使用強制類型轉換。

  • 4. 轉換過程當中可能致使溢出或損失精度,例如:

 // 由於byte類型是8位,最大值爲127,因此當int強制轉換爲byte類型時,值爲128時候就會致使溢出
 int i =128;   
 byte b = (byte)i; 
// 浮點數到整數的轉換不是四捨五入而是經過捨棄小數獲得
 (int)23.7 == 23;        
 (int)-45.89f == –45;

 

強制類型轉換

 

  • 1. 條件是轉換的數據類型必須是兼容的。

  • 2. 格式:(type)value; type是要強制類型轉換後的數據類型

  • 例:

 // 大強轉爲小時需注意二者需兼容,若是num爲128,做爲byte類型的b不夠容納是會報錯的哈
 int num= 123;
 // 強制int類型轉換爲byte,b的值爲123
 byte b = (byte)num;

 

昨天抱着試試看的心態竟然給我這個菜鳥開通了,感謝!不能浪費,補起來~

貌似這是必須記錄的一個基礎知識,堅持。。。。

相關文章
相關標籤/搜索