一、晋升
当低于 int 的3种整数类型:byte、short 和 char 进行运算时,运算结果会自动提升成int类型。如:
byte b1 = 10;
byte b2 = 20;
byte b3 = b1+b2; //这个语句会被提升语法错误: type mismatch
Int n = b1 + b2;//正确
二、char类型的运算
char类型的数据 在进行运算时会被自动转换为int类型。如:
int a = 10;
char b = ‘B’;// 字符B在unicode表中,对应的数字是66
System.out.println( a+b );//输出结果:76
三、整数的除法运算
如果参与除法运算的两个运算符对象都为整型,则运算为整除运算,得到的结果为整数。
如果希望的到的数保留小数部分,则需要对其中一个运算对象的类型做强制转换。如:
int a = 10;
int b = 3;
System.out.println( a/b );//输出结果:3 (因为是整除运算,只保留整数部分)
System.out.println( a/(double)b );
// 输出结果:3.333...... (把b强制装换为double类型)