java中的型別轉換

2021-06-08 23:56:59 字數 1001 閱讀 6950

基本型別和抽象型別的型別轉換是不同的,基本型別的轉換會改變記憶體中的資料;抽象型別並不對物件本身做更改,而是改變可見性。

這是由系統自動完成的型別轉換,由jvm自動完成。

轉換規則是對型別進行提公升,也可以說是從儲存範圍小的型別轉換到到儲存範圍大的型別:

byte->short/char->int->long->float->double

示例**:

short shortfigure = 1;

int commonfigure = shortfigure;//賦值時,jvm首先將shortfigure轉換為int型,然後賦給commonfigure

同樣的,如果我們對shortfigure進行操作,比如shortfigure+1運算會自動提公升表示式的型別,運算將返回int型的結果。

開發人員可以在程式中顯式轉換變數的型別。這種型別轉換可能會損失精度。

簡單型別的轉換規則是從儲存範圍大的型別到儲存範圍小的型別:

double->float->long->int->short/char->byte

示例**:

double doublefigure = 1.10;

int commonfigure = (int)doublefigure;

某些情況下父類可以轉換為子類。

示例**:

parent parentobject = new child();

child childobject = (child) parentobject;

與簡單型別的轉換機制不同,上述**本質上並沒有對物件做任何的改變,改變的僅僅是物件引用。

parentobject是乙個parent類的引用,它引用所指向的物件是乙個child物件。childobject也指向這個child物件,不同的是他是乙個對child類的引用。

它們的不同僅僅是對child物件的可見性。

java中的型別轉換

可能我們只是留意了乙個int代表的是整數,占用了4個位元組,而float可以代表小數,而double呢,好吧,能代表更精確的小數,那到底有多精確呢 如果,你感覺你的程式對精確度要求很高,那麼你可以使用double 我們往往也都是那麼一說 primitive型別之間的轉換?好的,乙個int占用4個位元...

java中的型別轉換

基本資料型別分為boolean和數值型別,如下圖依次需要注意的是 boolean型別的預設值是false,char除了可以定義數字,乙個以用來定義乙個字元,如 char a 王 乙個位元組表示八位,byte,short,int,long 都是有數值符號,其中float 定義時 需要注意 float ...

JAVA中int String的型別轉換

int string int i 12345 string s 第一種方法 s i 第二種方法 s string.valueof i 這兩種方法有什麼區別呢?作用是不是一樣的呢?是不是在任何下都能互換呢?string int s 12345 int i 第一種方法 i integer.parsein...