一、晋升
当低于 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类型)
本文详细解析了Java中不同类型间的自动晋升规则,包括byte、short、char等基本类型的晋升过程,以及char类型在运算中的行为特点。同时,介绍了整数除法运算的处理方式,并演示了如何通过类型强制转换来获取期望的小数结果。
1648

被折叠的 条评论
为什么被折叠?



