public class TestOperation {
public static void main(String[]args){
int x=10;
x=x+3;
x+=3;
byte b1=10+20;
byte b2=b1+20;
b2 +=10;
b2=120;
b2+=20;
System.out.println(62);
byte b4=79;
int i=~b4;
System.out.println(i);
}
在这个程序中, byte b2=b1+20;会出现报错,提示需要提升数值类型为这样: byte b2=(byte) (b1+20);才可以,为什么?
public static void main(String[]args){
int x=10;
x=x+3;
x+=3;
byte b1=10+20;
byte b2=b1+20;
b2 +=10;
b2=120;
b2+=20;
System.out.println(62);
byte b4=79;
int i=~b4;
System.out.println(i);
}
在这个程序中, byte b2=b1+20;会出现报错,提示需要提升数值类型为这样: byte b2=(byte) (b1+20);才可以,为什么?
1、byte型、short型和char型将被自动提升到int型
2、整个算数表达式类型自动提升到与表达式中最高等级操作数同样的类型这是基础哇