在Java中,兩個byte型別資料相加為什麼會報錯呢

時間 2021-12-18 21:51:37

1樓:流浪漢眼中的淚

以前好像遇到過,jdk裡面有個自帶的轉換機制,第乙個語句他會預設的把1轉換成byte型別,而第二個,1是int型別而a和b是byte型別,在運算的時候a會自動轉換為int型別與1相加,而結果會變成int型別,這個時候大型別就不能自動轉化成小型別,必須強制轉換byte b = (byte) (a+1);大概是這麼個意思

2樓:巔峰灬人才管理

byte a= 1;∥=號後面是個常量時,=號會自動型別轉換,int型別1,轉換成byte型別。

float a =1.0f;∥=號後面是個常量時,=號會自動轉換型別,double型別1.0,轉換成float型別。

char x = 'a';∥+號後面是個常量時,=號會自動轉換型別,int型別97,轉換成char型別。

——————————————————————————————

byte a = 1;

byte b = a+1;∥+會自動提公升型別,a被提公升為int,a+1是個表示式,是不確定的,所以=不會自動轉換型別,需要,改為byte b = (byte)(a+1)

————————————————————————————————

byte a = 1;

a +=2;∥+把a被提公升為int型別,2取自常量池int,1+2得3,常量+常量得常量,常量在+=(=)後面,自動轉換型別,不報錯。

——————————————————————————————————

int a = 1;

int b = a+1;∥int型別a加int型別1,結果為int型別的值(a+1),int變數的值,肯定可以放入int變數裡,所以int b= a+ 1不報錯。

3樓:匿名使用者

轉型 1預設是int型別,byte+int型別這個語法是不通的

4樓:匿名使用者

需要強制轉換byte b=(byte)(a+1);

兩個句子中and of those with在句子中是什麼意思,做什麼語法成分?順便分析句子語法結構

those不是which,不是非限制性定語從句,是and連線的並列句。解析 第乙個 and of those 指代的就是 前半句的主語,the percentage of households 這樣句子主幹就十分清晰了 the percentage of households rose 21 and...

我在兩個男孩中徘徊的好辛苦,乙個女人,在兩個男人間徘徊!

我覺的愛情的保質期最多也只有三年.對大多數人而言是沒有愛情可言的,愛情只是少部分才擁有的奢侈品.乙個是你愛的人.乙個是人愛你的人.我覺的你自已的事情自已作主.關健是要和乙個適合生活在一起的人過一輩子.就算現在那個他或者他對你都很好,對你來說都感動.但時間長了,一切的一切都會平淡下來.平平淡淡才是真的...

求助EXCEL高手,在兩個工作表中的資料互通。如圖

應該通過vlookup函式解決 由於截圖未截出行號列標,故不方便書寫公式。方法思路是 表2姓名如果在c4,那麼c5 c10輸入以下公式,按ctrl enter結束 vlookup c 4,sheet1 a m,row a2 表2的g4 g9輸入以下公式,按ctrl enter結束 vlookup c...

在asp中,left和mid,這兩個函式有什麼區別

left函式是 返回指定數目的字串,並且從左邊算起 mid函式是 從字串中返回指定數目的字串。其區別是 mid函式 可以在被擷取字串的指定位置擷取指定數目的字串。left函式 返回指定數目的字串,並且從左邊算起 asp英文名 active server pages。一樓可以說的有問題 left函式是...

在2019,2019這自然數中,能表示為兩個自然平方之差的數有幾個

m 2 n 2 m n m n 其中m,n是整數,m n與m n同奇偶,所以m 2 n 2是奇數或是4的倍數。反過來,2n 1 n 1 2 n 2,4n n 1 2 n 1 2,於是只有不是4的倍數的偶數不能表示為兩個整數的平方差。在2000至2017的18個整數中以下4個偶數不是4的倍數 2002...