Java中Byte类型数据在运算中的问题
比如:
byte a=1;
byte b=2;
byte c;
c=a+b; //這樣是計算不出c,是錯誤的
c=a+1; //這樣也是不能計算c的
c=64+1; //為什么這樣就能計算c,在Java中這是什么原理啊?
運算符對基本類型的影響
當使用+、-、*、/、%運算符對基本類型進行運算時,遵循如下規則:
只要兩個操作數中有一個是double類型的,另一個將會被轉換成double類型,并且結果也是double類型;
否則,只要兩個操作數中有一個是float類型的,另一個將會被轉換成float類型,并且結果也是float類型;
否則,只要兩個操作數中有一個是long類型的,另一個將會被轉換成long類型,并且結果也是long類型;
否則,兩個操作數(包括byte、short、int、char)都將會被轉換成int類型,并且結果也是int類型。
原文來自:雨楓技術教程網 http://www.fengfly.com
原文網址:http://www.fengfly.com/plus/view-170775-1.html
c=a+b時,符合第四個項,a+b的結果將轉為int類型,把int賦值給byte是不可以的
c=a+1時,同樣符合第四項
至于c=64+1,64+1是個在編譯時就可以確定的常量,而且范圍沒有超出byte的取值范圍,這個關系式就相當于c=65,因而不會報錯。
?
轉載于:https://www.cnblogs.com/wanghui390/p/3413606.html
總結
以上是生活随笔為你收集整理的Java中Byte类型数据在运算中的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java的Serialization 机
- 下一篇: discuz 文档说明