隐式转换
- byte等整型转int,最高位(符号位保留),中间补0
byte bt=-13;
bt
源码:1000 1101
反码:1111 0010
补码:1111 0011
int it=bt;
it 源码:1000 0000 0000 1101
反码:1111 1111 1111 0010
补码:1111 1111 1111 0011
- 不存在byte和short常量,整型常量只有int型和long型
byte bt = 13; short st = 25; char ch = 'a'; 上面代码中的13,25,'a'(97)都是int型的常量,bt和st获取的是int截断后的数据,实际上是类似执行下列语句 int i = 13; byte bt = (byte)i; int i = 13; short st = (short)i; 所以进行整型运算时如果没有long数据,运算结果一定是int