型別轉換以及相應的溢位解決

2021-10-02 12:17:41 字數 935 閱讀 6388

容量小的型別可以自動轉化為容量大的資料型別(容量所表示的就是資料型別表示的範圍的大小)

int a=324;

long b=a;

double c=a;

c=b;

//a=b;//long 容量比int大,所以不可轉化

//long e=3.24f;//float 型別的資料不可以轉化為long型別,float的容量更大

float f=356489565l;//long 的值可以轉換為float

//byte s=12342;//超過了byte的表示範圍

在相應的值前面加上括號即可

double d=3.14;

int a=(int)d;//直接把小數部分捨棄,

char ch='a';

int b=ch+1;

(當運算元比較大時)

* 可以在進行計算時,將其中乙個型別轉換為long的型別(34l)

* 盡量使用大寫的l,以免錯看成1;

int money=1000000000;

int years=20;

int total=money*years;//超過了int的表示範圍,所以返回的值是乙個負數

system.out.println("total="+total);//

long total1=money*years;//先計算的是兩個數的乘積,預設是int型別的值,在賦值給long型別的值也已經晚了

system.out.println("total1="+total1);

long total2=money*((long)years);//先將其中乙個數轉換成long型別,計算的結果就是long型別

system.out.println("total2="+total2);

變數以及相應的型別

在程式中,有時我們需要對2個資料進行求和,那麼該怎樣做呢?大家模擬一下現實生活中,比如去超市買東西,往往咱們需要乙個菜籃子,用來進行儲存物品,等到所有的物品都購買完成後,在收銀台進行結賬即可 如果在程式中,需要把2個資料,或者多個資料進行求和的話,那麼就需要把這些資料先儲存起來,然後把它們累加起來即...

可選型別以及型別轉換

乙個變數要麼有值,要麼沒值。語法定義 let name string?nil。只有可選型別的可以賦值nil。怎麼使用 var num int?0 num nil if num nilvar num int?0 num nil if let result numfunc check number in...

osgi服務報錯以及相應的解決方法

自己在專案中配置相關的osgi服務,然後不能正常啟動,首先是看容器的日誌,日誌報錯如下 第二種情況就是要依賴的元件沒有想外提供服務,導致他不能使用該元件的服務,修改如下則可以 com.gzydt.license.base.persist,com.gzydt.license.base.persist....