[声明]所有代码均来自Joshua Bloch和Neal Gafter所著的<Java解惑>一书,本人仅因学习需要摘抄和注释,感谢二位作者的知识分享.
代码:
public class Multicast {
public static void main(String[] args) {
System.out.println((int) (char) (byte) -1);
}
}
结果:
65535
分析:
int类型的数值-1经过两次转换后再转换回int型时数值竟然发生了改变,这是为什么?
int类型的-1(0xFFFFFFFF)转换成byte时会进行截取-1(0xFF)
byte类型再转换成char类型时,因为char是无符号型,所以符号位会当成普通二进制位进行转换为0xFFFF
再转换成int型时值为0x0000FFFF,即为:65535.
分享到:
相关推荐
**谜题6:多重转型** - **描述**:涉及到多个数据类型的相互转换,但结果却与预期不符。 - **解惑**:数据类型转换是Java中的常见操作,但需要注意自动类型提升和显式转换的区别。当从低精度类型转换到高精度类型时...
### 谜题 6:多重转型 多重转型涉及Java的多态性和类型转换。在Java中,向上转型(父类引用指向子类对象)是自动的,而向下转型(子类引用指向父类对象)需要显式进行,并可能抛出`ClassCastException`。 ### 谜题 ...
6. **多重转型**:Java的多态性和类型转换是其核心特性之一,谜题6可能讨论了不当转换导致的错误。 7. **互换内容**:在Java中,两个对象的互换可能不那么简单,尤其是对于非基本类型的对象,谜题7可能涉及对象引用...
谜题6:多重转型 谜题7:互换内容 谜题8:Dos Equis 谜题9:半斤 谜题10:八两 Java谜题2——字符谜题 谜题11:最后的笑声 谜题12:ABC 谜题13:畜牧场 谜题14:转义字符的溃败 谜题15:令人晕头转向的...
随着时代的发展,教师的角色早已超越了传统的“传道、授业、解惑”的范畴。在现代教育体系中,教师不仅要具备扎实的专业知识,还需要具备多元化的技能和素养,以适应教育教学的综合性和服务性的需求。本文将结合教师...