java自動轉換問題

2021-09-10 16:50:14 字數 582 閱讀 5875

int型除以double型,結果是double型

自動轉換遵循以下規則:

1) 若參與運算量的型別不同,則先轉換成同一型別,然後進行運算。

2) 轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行運算。

a.若兩種型別的位元組數不同,轉換成位元組數高的型別

b.若兩種型別的位元組數相同,且一種有符號,一種無符號,則轉換成無符號型別

3) 所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表示式,也要先轉換成double型,再作運算。

4) char型和short型參與運算時,必須先轉換成int型。

5) 在賦值運算中,賦值號兩邊量的資料型別不同時,賦值號右邊量的型別將轉換為左邊量的型別。如果右邊量的資料型別長度左邊長時,將丟失一部分資料,這樣會降低精度,丟失的部分按四捨五入向前捨入。

例如:int 和double屬於不同型別,轉換遵循低精度到高精度轉換,所以int先轉成double型就算,結果就是double型。

低精度可以直接賦值給高精度,賦值時自動轉化。如int a=2.0,這會報錯。而double a=2;就不會報錯。

java自動轉換和強制轉換

資料型別的轉換,分為自動轉換和強制轉換。自動轉換是程式在執行過程中 悄然 進行的轉換,不需要使用者提前宣告,一般是從位數低的型別向位數高的型別轉換 強制型別轉換則必須在 中宣告,轉換順序不受限制。自動資料型別轉換 自動轉換按從低到高的順序轉換。不同型別資料間的優先關係如下 低 高 byte,shor...

java金錢轉換問題

public static string notranslate string snumber string twounit string schinese int pointpos snumber.indexof 小數點的位置 string sinteger 記錄整數部分 string sdeci...

Java時間轉換問題

當你要格式乙個你知道它是時間格式的字串時候你想轉換成另外一種格式表達的時候,步驟是先解析 parse 後格式 format 引數是要格式化字串的格式 dateformat sdf new dateformat mm dd yyyy hh mm ss begindate sdf.parse 08 25...