注意:
操作比較大的數時,要留意是否溢位(結果比表示範圍大),尤其是對整數進行操作時
int money = 1000000000; //10億(10億在int的表示範圍內)
int years = 20;
//返回的total是負數,因為超過了int的範圍溢位了
int total = money*years;//結果是int,因為money和years都是int,算的時候因為超過了int的範圍就溢位了。
system.out.println("total="+total);
//返回的total1仍然是負數。 money*years是int,再轉成long。但是已經在計算 money*years已經發生了資料丟失,所以為時已晚。
long total1 = money*years;
system.out.println("total1="+total1);
//返回的total2正確:先將乙個因子變成long,整個表示式發生提公升,全部用long來計算結果為long,不會溢位。
long total2 = money*((long)years);
system.out.println("total2="+total2);
總結:
在計算的資料較大的時候可以提公升變數型別防止溢位:
long total3=34l*1999999999;
基本資料型別轉換
八大基本資料型別boolean,char,short,byte,int,long,float,double 八大基本資料型別的包裝類boolean,character,short,byte,integer,long,float,double short,byte,char在進行運算時會自己轉化成in...
基本資料型別轉換
1.其他型別轉stringa.tostring 生成乙個新的字串,不會改變原來的資料型別。a.tostring 2 轉換為二進位制的字串。a.tostring 8 轉換為八進位制的字串。string a 強制轉換為字串型別 兩者區別 x.tostring 不能轉換null和undefined,如需轉...
基本資料型別轉換
容量小的型別自動轉換為容量大的資料型別。資料型別按容量大小排序為 有多種型別的資料混合運算時,系統首先自動將所有資料轉換成容量最大的那種資料型別,然後再進行計算。byte,short,char三者在計算時首先轉換為int型別。當把任何基本型別的值和字串值進行連線運算時 基本型別的值將自動轉化為字串型...