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

強(qiáng)制類型轉(zhuǎn)換
- 強(qiáng)制類型轉(zhuǎn)換(顯式):將 取值范圍大的類型 強(qiáng)制轉(zhuǎn)換成 取值范圍小的類型 。
- 特點(diǎn):強(qiáng)制轉(zhuǎn)換需要我們自己手動(dòng)執(zhí)行。
- 轉(zhuǎn)換格式: 數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)被轉(zhuǎn)數(shù)據(jù)值;
強(qiáng)制轉(zhuǎn)換類型注意事項(xiàng)
- 強(qiáng)制類型轉(zhuǎn)換一般不推薦使用,因?yàn)橛锌赡馨l(fā)生精度損失、數(shù)據(jù)溢出。
- byte/short/char這三種類型都可以發(fā)生數(shù)學(xué)運(yùn)算,例如加法“+”.
- byte/short/char這三種類型在運(yùn)算的時(shí)候,都會(huì)被首先提升成為int類型,然后再計(jì)算。
- boolean類型不能發(fā)生數(shù)據(jù)類型轉(zhuǎn)換
代碼舉例
package demo01_DataTypeTransform;
public class Demo02DataType {
public static void main(String[] args) {
//long類型 強(qiáng)制轉(zhuǎn)換為int 類型
int i = (int) 3333L;
System.out.println(i);
//當(dāng)要轉(zhuǎn)換的數(shù)據(jù)類型 超過了數(shù)據(jù)類型的范圍的最大值 則會(huì)造成數(shù)據(jù)溢出
// 格式:數(shù)據(jù)類型 變量名 = (數(shù)據(jù)類型)被轉(zhuǎn)數(shù)據(jù)值;
int j = (int) 600000000000L;
System.out.println(j);
//浮點(diǎn)轉(zhuǎn)成整數(shù),直接取消小數(shù)點(diǎn),可能造成數(shù)據(jù)損失精度。
int z = (int) 3.14;
System.out.println(z);
//byte/short/char這三種類型在運(yùn)算的時(shí)候,都會(huì)被首先提升成為int類型,然后再計(jì)算。
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í)行后的結(jié)果

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

