java基本數據類型之間的轉換

基本數據類型之間的相互轉換分爲兩種,分別是自動類型轉換和強制類型轉換。java

自動類型轉換

當須要從低級類型向高級類型轉換時,java會自動完成從低級類型向高級類型轉換。低級類型是指取值範圍相對較小的數據類型,高級類型是指取值範圍相對較大的數據類型,如long相對於float是低級數據類型,可是相對於int類型是高級數據類型。在基本數據類型中除boolean外都可參與算數運算。code

數據類型從低到高的排序:排序

graph LR A[byte] --> B[short] B[short] --> C[char] C[char] --> D[int] D[int] --> E[long] E[long] --> F[float] F[float] --> G[double]
  1. 在算數表達式中含有int、long、float、double型的數據
    若是在算數表達式中含有int、long、float、double型的數據,java首先會將全部數據類型相對較低的變量自動轉換爲表達式中數據類型最高的數據類型,而後再計算,而且計算結果的數據類型也爲表達式中數據類型相對最高的數據類型。
    例如:
byte b=75;
char c='c';
int i=123;
long l=12345L;
long result=b*c-i+l;
  1. 在算數表達式中只含有byte、short、char型的數據
    若是在算數表達式中只含有byte、short、char型的數據,java首先將全部變量的類型自動轉換成int型,而後在進行計算,而且計算結果的數據類型也爲int型。byte、short、char三者之間不能直接相互轉換。
byte b=75;
char c='c';
int result=b+c;

強制類型轉換

若是須要把數據類型相對較高的數據或變量賦值給數據類型相對較低的變量,就必須進行強制類型轉換。
例如:class

int a=(int)7.5;
//a的最終結果爲7
byte b=(byte)774;
//b的最終結果6

變量b的值爲6,緣由是整數774超出了byte型的取值範圍,在進行強制類型轉換時,表示整數774的二進制數的前24位被捨棄,全部最終賦值爲變量b的數據是後8位的二進制數。變量

相關文章
相關標籤/搜索