程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> byte-關於自動提升int類型疑問?

byte-關於自動提升int類型疑問?

編輯:編程綜合問答
關於自動提升int類型疑問?

byte b1= 1;
byte b2 =2;
byte b3 =b1+b2;
這種編譯為什麼會報錯,求指導?

最佳回答:


當使用+、-、*、/、%運算符對基本類型進行運算時,遵循如下規則:
只要兩個操作數中有一個是double類型的,另一個將會被轉換成double類型,並且結果也是double類型;
否則,只要兩個操作數中有一個是float類型的,另一個將會被轉換成float類型,並且結果也是float類型;
否則,只要兩個操作數中有一個是long類型的,另一個將會被轉換成long類型,並且結果也是long類型;
否則,兩個操作數(包括byte、short、int、char)都將會被轉換成int類型,並且結果也是int類型。

當使用+=、-=、*=、/=、%=、運算符對基本類型進行運算時,遵循如下規則:
運算符右邊的數值將首先被強制轉換成與運算符左邊數值相同的類型,然後再執行運算,且運算結果與運算符左邊數值類型相同。

比如上面 b3+=b1;b3+=b2;這樣都是沒問題的。

lpzhuan
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved