学习笔记,仅供参考!穷人买不起记事本~~
Java虚拟机中实现不同基本数据类型之间转换功能的指令
转换操作码
后面没有操作数,转换的值从栈顶弹出,转换,然后再将转换结果压入栈。
int/float/long/double的操作码
操作码 | 操作数 | 说明 |
i2l | 无 | 将int类型值转化为long类型值 |
i2f | 无 | 将int类型值转化为float类型值 |
i2d | 无 | 将int类型值转化为double类型值 |
l2f | 无 | 将long类型值转化为float类型值 |
l2d | 无 | 将long类型值转化为double类型值 |
l2d | 无 | 将long类型值转化为double类型值 |
f2i | 无 | 将float类型值转化为int类型值 |
f2l | 无 | 将float类型值转化为long类型值 |
f2d | 无 | 将float类型值转化为double类型值 |
d2i | 无 | 将double类型值转化为int类型值 |
d2l | 无 | 将double类型值转化为long类型值 |
d2f | 无 | 将double类型值转化为float类型值 |
将int类型转化为比int类型更小空间的数据类型。从操作数栈中弹出一个int类型值
,将它转换为能用byte/short/char类型能描述的int类型值,然后再将这个转化后的int类型值压入栈。
i2b指令弹出的int类型值截断为byte类型,然后对其进行带符号位扩展,恢复成int类型值。
i2s指令弹出的int类型值截断为short类型,然后对其进行带符号位扩展,恢复成int类型值。
i2c指令弹出的int类型值截断为char类型,然后对其进行零扩展,恢复成int类型值。
操作码 | 操作数 | 说 明 |
i2b | 无 | 将int类型值转换为byte类型值 |
i2c | 无 | 将int类型值转换为char类型值 |
i2s | 无 | 将int类型值转换为short类型值 |