希望大家不吝赐教~~
1、我知道short+int时要把short变成int才行,但是呢,下面这个的结果为何是int?
- Java code
byte b = 1;char c = 'A';// b+c 这个是int型
我想是不是因为char是无符号的?为了绕开符号位只能再往上提高一级?
2、这个也转型?
- Java code
byte b = 1;// b = b+b; b+b是int型。。
3、byte转char时为何要先将byte转成int?
这几个问题实在搞不定了,跪地360度求解。。。
------解决方案--------------------
在JVM中 byte,short,char,int 类型的数值都是以整数形式存储的。
比如这段代码:
- Java code
byte b = 1; char c = 1; short s = 1; int i = 1;
------解决方案--------------------
JVM指令关于两数相加只有 iadd(int相加), ladd(long相加), fadd(flaot相加), dadd(double相加)再没其他的了,加减乘除都一样