Java數(shù)據(jù)類型轉換實例解析
這篇文章主要介紹了Java數(shù)據(jù)類型轉換實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
數(shù)據(jù)類型轉換
Java程序中要求參與的計算的數(shù)據(jù),必須要保證數(shù)據(jù)類型的一致性,如果數(shù)據(jù)類型不一致將發(fā)生類型的轉換。
數(shù)據(jù)類型的轉換分類
自動類型轉換
- 自動類型轉換(隱式):將 取值范圍小的類型自動提升為取值范圍大的類型 。
- 轉換規(guī)則 :范圍小的類型向范圍大的類型提升, byte、short、char 運算時直接提升為 int 。 byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
- 特點:代碼不需要進行特殊處理,自動完成。
代碼舉例:
package demo01_DataTypeTransform;
public class Demo01DataType {
public static void main(String[] args) {
//直接寫上的數(shù)字 默認是int類型
System.out.println(2);
//直接寫上的小數(shù),默認是double類型
System.out.println(3.14);
// int 類型 賦值給 long類型 符合自動類型轉換的規(guī)則 自動轉換為long類型
long l = 888;
System.out.println(l);
// long類型賦值給float類型 符合自動類型轉換的規(guī)則 自動轉換為float類型
float f = 5656L;
System.out.println(f);
// float類型 賦值給double類型 符合自動類型轉換的規(guī)則 自動轉換為double類型
double d = 3.14F;
System.out.println(d);
}
}
代碼執(zhí)行后的結果

強制類型轉換
- 強制類型轉換(顯式):將 取值范圍大的類型 強制轉換成 取值范圍小的類型 。
- 特點:強制轉換需要我們自己手動執(zhí)行。
- 轉換格式: 數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)被轉數(shù)據(jù)值;
強制轉換類型注意事項
- 強制類型轉換一般不推薦使用,因為有可能發(fā)生精度損失、數(shù)據(jù)溢出。
- byte/short/char這三種類型都可以發(fā)生數(shù)學運算,例如加法“+”.
- byte/short/char這三種類型在運算的時候,都會被首先提升成為int類型,然后再計算。
- boolean類型不能發(fā)生數(shù)據(jù)類型轉換
代碼舉例
package demo01_DataTypeTransform;
public class Demo02DataType {
public static void main(String[] args) {
//long類型 強制轉換為int 類型
int i = (int) 3333L;
System.out.println(i);
//當要轉換的數(shù)據(jù)類型 超過了數(shù)據(jù)類型的范圍的最大值 則會造成數(shù)據(jù)溢出
// 格式:數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)被轉數(shù)據(jù)值;
int j = (int) 600000000000L;
System.out.println(j);
//浮點轉成整數(shù),直接取消小數(shù)點,可能造成數(shù)據(jù)損失精度。
int z = (int) 3.14;
System.out.println(z);
//byte/short/char這三種類型在運算的時候,都會被首先提升成為int類型,然后再計算。
byte b = 3;
short s = 5;
char c = 'c';
/*
* byte + short ---> int + int --->int
* int + char --->int + int ---->int
* char 類型提升int類型 查詢Ascll碼表
*/
int result = b + c + s;
System.out.println(result);
}
}
代碼執(zhí)行后的結果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
SpringBoot利用@Retryable注解實現(xiàn)接口重試
本文主要介紹了springboot如何利用@Retryable注解實現(xiàn)接口重試功能,文中示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06
java開發(fā)web前端cookie session及token會話機制詳解
如果把人體比作一個web系統(tǒng)的話,cookie、session和token就好像人體的經(jīng)絡和血管一樣,而web系統(tǒng)中的數(shù)據(jù),就好像人體的血液一樣。血液依靠著血管在人體內流動,就如數(shù)據(jù)根據(jù)cookie和session機制在web系統(tǒng)中流動一樣2021-10-10
JAVA代碼實現(xiàn)MongoDB動態(tài)條件之分頁查詢
這篇文章主要介紹了JAVA如何實現(xiàn)MongoDB動態(tài)條件之分頁查詢,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-07-07
java優(yōu)先隊列PriorityQueue中Comparator的用法詳解
這篇文章主要介紹了java優(yōu)先隊列PriorityQueue中Comparator的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02

