Java中,为什么byte b+=1是合法的,而byte b=b+1不能通过编译

来源:百度知道 编辑:UC知道 时间:2024/06/05 10:59:15

byte b+=1 的时候你定义了b(其实是在使用之前已经做了强制转换)是一个byte型变量,可以正常运算
而byte b=b+1 当运算b+1的时候,发现b没有被定义,所以不行啊,呵呵

供参考

package download;

public class Bytetest {
public static void main(String args[]){
//byte a +=1; 错误不能这样定义一个变量

byte a = 0;
a += 1;

/*byte c;
c +=1; 错误没有初始化
*/
byte b = 0;
//b = b + 1; 错误不能自动从一个int 转换成byte;
b = (byte)(b + 1);

}

}

楼上正解