Java基礎:數值類型轉換、強制類型轉換


數值類型之間的轉換

數值類型之間的轉換,在小數值往大數值轉換時,不會發生精度的損失。在小數值往大數值轉換時有可能發生精度的損失。

比如byte最大值也只有127,如果一個大於127的int類型數據往byte轉換肯定是不行的,但是往long類型轉換就完全沒問題了。

在我們進行一些兩種不同數值類型之間的數值運算時,先要將兩個操作數轉換為同一種類型,然后再計算。

具體轉換為那種類型,得看他們的取值。

可以參考https://www.cnblogs.com/lbhym/p/11122716.html

如下圖。實心箭頭表示無信息丟失,虛線代表有可能有精度損失。

注:《Java核心技術 卷1》

強制類型轉換

除了Java自己會進行類型轉換。比如int+double,系統會把結果轉換為double。

我們有時候需要手動轉換一些類型。

語法如下:

double x=9.997;
int nx=(int) x;

只需要在前面加個小括號,小括號里面寫上目標類型就行。

最后nx=9。

如果你需要舍入,可以用Math.round方法

double x=9.997;
int nx=(int)Math.round(x);

nx=10;

這里注意,round方法返回的是long類型數據,所以你還是只需要int類型數據時,需要再強轉一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM