Java基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換詳解
今天主要學(xué)習(xí)的是Java基本數(shù)據(jù)類型之間的轉(zhuǎn)換以及String類型與基本數(shù)據(jù)類型之間的轉(zhuǎn)換
1.自動(dòng)類型轉(zhuǎn)換
1.定義
Java程序在進(jìn)行賦值或運(yùn)算時(shí),自動(dòng)將精度小的轉(zhuǎn)換成精度大的。
2.數(shù)據(jù)類型按精度大小排序
char —> int —> long —> float —> double
byte —> short —> int —> long —> float —> double
3.使用細(xì)節(jié)
- 當(dāng)有多種數(shù)據(jù)混合運(yùn)算時(shí),系統(tǒng)首先自動(dòng)將所有數(shù)據(jù)轉(zhuǎn)換成容量最大的數(shù)據(jù)類型,再進(jìn)行計(jì)算。
- 當(dāng)把精度大到數(shù)據(jù)類型賦給精度小的會(huì)報(bào)錯(cuò)。注意在進(jìn)行數(shù)值賦值時(shí),先判斷是否在該小精度數(shù)據(jù)類型范圍內(nèi),如果是就可以,如果是進(jìn)行變量賦值,就不行。
- byte,short和char之間不能相互自動(dòng)轉(zhuǎn)換。
- byte,short和char三者可以計(jì)算,計(jì)算時(shí)轉(zhuǎn)換成為int類型。
- boolean類型不參與轉(zhuǎn)換。
- 自動(dòng)提升原則:表達(dá)式結(jié)果的類型自動(dòng)轉(zhuǎn)換成操作數(shù)中最大的類型。
2.強(qiáng)制類型轉(zhuǎn)換
1.定義
自動(dòng)類型轉(zhuǎn)換的逆過(guò)程,將容量大的數(shù)據(jù)類型裝換成容量小的數(shù)據(jù)類型。使用時(shí)要加上強(qiáng)制轉(zhuǎn)換符,但可能造成精度降低或溢出。
2.使用細(xì)節(jié)
強(qiáng)制類型轉(zhuǎn)換只對(duì)最近的操作數(shù)有效,往往會(huì)使用小括號(hào)提升優(yōu)先級(jí)。
char類型可以保存int的常量值,但不能保存int的變量值,需要強(qiáng)轉(zhuǎn)。
public class ForceTest{ public static void main(String []args){ int x = (int)(10*3.5+6*1.5);//正確 int y = (int)10*3.5+6*1.5;//報(bào)錯(cuò) } }
3.基本數(shù)據(jù)類型與String類型的轉(zhuǎn)換
1.基本數(shù)據(jù)類型轉(zhuǎn)String類型
將本類型的值 + “” 即可。
int n1 = 100; String str1 = n1 + "";
2.String類型轉(zhuǎn)基本數(shù)據(jù)類型
通過(guò)基本數(shù)據(jù)類型的包裝類調(diào)用parseXX函數(shù)即可,但要確保String類型能夠轉(zhuǎn)換成有效的數(shù)據(jù),比如可以將"123"轉(zhuǎn)換,但不能將"hello"轉(zhuǎn)換成一個(gè)整數(shù),如果格式不對(duì),就會(huì)拋出異常,終止程序。
String Str1 = "345"; Integer.parseInt("123"); Double.parseDouble("123.5"); Float.parseFloat("123.3"); Short.parseShort("123"); Boolean.parseBoolean("true"); Long.parseLong("123456"); Byte.parseByte("12"); //將字符串轉(zhuǎn)換成字符型需要調(diào)用charAt(int a)函數(shù) Str1.charAt(a); //表示字符串中第a+1個(gè)字符 Str1.charAt(0)='3';
到此這篇關(guān)于Java基本數(shù)據(jù)類型之間的相互轉(zhuǎn)換詳解的文章就介紹到這了,更多相關(guān)Java數(shù)據(jù)類型轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MAC上IntelliJ IDEA的svn無(wú)法保存密碼解決方案
今天小編就為大家分享一篇關(guān)于MAC上IntelliJ IDEA的svn無(wú)法保存密碼解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10MyBatisPlus 主鍵策略的實(shí)現(xiàn)(4種)
MyBatis Plus 集成了多種主鍵策略,幫助用戶快速生成主鍵,本文主要介紹了MyBatisPlus主鍵策略的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10SSM使用mybatis分頁(yè)插件pagehepler實(shí)現(xiàn)分頁(yè)示例
本篇文章主要介紹了SSM使用mybatis分頁(yè)插件pagehepler實(shí)現(xiàn)分頁(yè)示例,使用分頁(yè)插件的原因,簡(jiǎn)化了sql代碼的寫法,實(shí)現(xiàn)較好的物理分頁(yè),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-03-03Spring Security 自定義資源服務(wù)器實(shí)踐過(guò)程
這篇文章主要介紹了Spring Security 自定義資源服務(wù)器實(shí)踐,我們通過(guò)自己搭建的授權(quán)服務(wù)器和資源服務(wù)器,完整體驗(yàn)了OAuth2流程,需要的朋友可以參考下2022-08-08Java編程redisson實(shí)現(xiàn)分布式鎖代碼示例
這篇文章主要介紹了Java編程redisson實(shí)現(xiàn)分布式鎖代碼示例,小編覺得還是比較不錯(cuò)的,這里給大家分享下,供需要的朋友參考。2017-10-10