1.自動型別轉化
容量小的資料型別可以自動轉化為容量大的型別。(這裡的容量指的不是位元組大小,二十表述範圍)
特例:
可以將整型常量直接賦值給byte、short、char,而不需要進行強制轉化,只要不超出其範圍即可。
short a = 1;//合法
short b = 1234567;//不合法
2.強制型別轉化強制型別轉化又叫做造型。用於顯示的轉換乙個數值的型別。在有可能丟失資訊的情況下進行的轉化是通過造型完成的,但可能造成精度降低或者是溢位。
當乙個型別強制轉化為另乙個型別,而又超出了目標型別的表示範圍,就會被截斷成為乙個完全不同的值。例如:
int a =-100;
char c =(char)a;//-100超出char的範圍,所以被轉化為完全不同的值,無意義的值。
3.運算時的型別提公升問題表示式的型別提公升問題
int a = 3;
long b = 4;
int c = a+b;//編譯將會出錯,提示可能損失精度。原因:a是int型別,b是long型別,在進行運算a+b結果,型別提公升為long型別,將乙個long型別賦值給int所以會提示損失精度。
做所有二元運算子(+-*/%),都會出現型別提公升問題,解決方法為進行型別轉換即可。
4.基本型別資料在轉化的時候常見錯誤和問題
例1:
int a =1000000000;
int b = 200;
int c = a*b;
system.out.println(c);//輸出結果為-1863462912,這是因為a和b相乘的結果超過int的範圍,產生了溢位。
檔案與流的互相轉化
檔案轉化成流 得到使用者要上傳的檔名 string strfilepathname fileupload1.postedfile.filename string strfilename path.getfilename strfilepathname int filelength fileuploa...
Java基本型別的型別轉換
語法格式 targettype value,其運算子是圓括號。當進行強制型別轉換時,類似於把乙個大瓶子中的水倒入小瓶子中,如果大瓶子中水不多還好,如果大瓶子中水多,將會引起溢位,從而造成資料損失 注 正數在計算機中以原碼存放,負數在計算機中以補碼顯示 float a 5.6 上面一行 會報錯,因為計...
java基本型別轉換
一 int 和 string 互轉 1 int 轉為 string 1 public static string valueof int i 2 int a 9 string s new integer a tostring 2 string 轉為 int 1 int i integer.parsi...