Java基本數(shù)據(jù)類型之間的相互轉換詳解
今天主要學習的是Java基本數(shù)據(jù)類型之間的轉換以及String類型與基本數(shù)據(jù)類型之間的轉換
1.自動類型轉換
1.定義
Java程序在進行賦值或運算時,自動將精度小的轉換成精度大的。
2.數(shù)據(jù)類型按精度大小排序
char —> int —> long —> float —> double
byte —> short —> int —> long —> float —> double
3.使用細節(jié)
- 當有多種數(shù)據(jù)混合運算時,系統(tǒng)首先自動將所有數(shù)據(jù)轉換成容量最大的數(shù)據(jù)類型,再進行計算。
- 當把精度大到數(shù)據(jù)類型賦給精度小的會報錯。注意在進行數(shù)值賦值時,先判斷是否在該小精度數(shù)據(jù)類型范圍內(nèi),如果是就可以,如果是進行變量賦值,就不行。
- byte,short和char之間不能相互自動轉換。
- byte,short和char三者可以計算,計算時轉換成為int類型。
- boolean類型不參與轉換。
- 自動提升原則:表達式結果的類型自動轉換成操作數(shù)中最大的類型。
2.強制類型轉換
1.定義
自動類型轉換的逆過程,將容量大的數(shù)據(jù)類型裝換成容量小的數(shù)據(jù)類型。使用時要加上強制轉換符,但可能造成精度降低或溢出。
2.使用細節(jié)
強制類型轉換只對最近的操作數(shù)有效,往往會使用小括號提升優(yōu)先級。
char類型可以保存int的常量值,但不能保存int的變量值,需要強轉。
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;//報錯 } }
3.基本數(shù)據(jù)類型與String類型的轉換
1.基本數(shù)據(jù)類型轉String類型
將本類型的值 + “” 即可。
int n1 = 100; String str1 = n1 + "";
2.String類型轉基本數(shù)據(jù)類型
通過基本數(shù)據(jù)類型的包裝類調用parseXX函數(shù)即可,但要確保String類型能夠轉換成有效的數(shù)據(jù),比如可以將"123"轉換,但不能將"hello"轉換成一個整數(shù),如果格式不對,就會拋出異常,終止程序。
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"); //將字符串轉換成字符型需要調用charAt(int a)函數(shù) Str1.charAt(a); //表示字符串中第a+1個字符 Str1.charAt(0)='3';
到此這篇關于Java基本數(shù)據(jù)類型之間的相互轉換詳解的文章就介紹到這了,更多相關Java數(shù)據(jù)類型轉換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MAC上IntelliJ IDEA的svn無法保存密碼解決方案
今天小編就為大家分享一篇關于MAC上IntelliJ IDEA的svn無法保存密碼解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10SSM使用mybatis分頁插件pagehepler實現(xiàn)分頁示例
本篇文章主要介紹了SSM使用mybatis分頁插件pagehepler實現(xiàn)分頁示例,使用分頁插件的原因,簡化了sql代碼的寫法,實現(xiàn)較好的物理分頁,非常具有實用價值,需要的朋友可以參考下2018-03-03Java編程redisson實現(xiàn)分布式鎖代碼示例
這篇文章主要介紹了Java編程redisson實現(xiàn)分布式鎖代碼示例,小編覺得還是比較不錯的,這里給大家分享下,供需要的朋友參考。2017-10-10