zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java核心技术卷I基础知识3.5.3 强制类型转换

JAVA基础知识 强制 类型转换 核心技术 3.5
2023-09-11 14:16:02 时间


在上一小节中看到,在必要的时候,int类型的值将会自动地转换为double类型。但另一方面,有时也需要将double转换成int。在Java中,允


许进行这种数值之间的类型转换。当然,有可能会丢失一些信息。在这种情况下,需要通过强制类型转换(cast)实现这个操作。强制类型转换


的语法格式是在圆括号中给出想要转换的目标类型,后面紧跟待转换的变量名。例如:

 

这样,变量nx的值为9。强制类型转换通过截断小数部分将浮点值转换为整型。


如果想对浮点数进行舍入运算,以便得到最接近的整数(在很多情况下,这种操作更有用),那就需要使用Math.round方法:

 

现在,变量nx的值为10。当调用round的时候,仍然需要使用强制类型转换(int)。其原因是round方法返回的结果为long类型,由于存在信


息丢失的可能性,所以只有使用显式的强制类型转换才能够将long类型转换成int类型。

      

警告:如果试图将一个数值从一种类型强制转换为另一种类型,而又超出了目标类型的表示范围,结果就会截断成一个完全不同的值。例


如,(byte)300的实际值为44。

      

C++注释:不要在boolean类型与任何数值类型之间进行强制类型转换,这样可以防止发生错误。只有极少数的情况才需要将布尔类型转换为


数值类型,这时可以使用条件表达式b?1:0。


Java 核心技术之序列化 Serializable 一、序列化概念 将对象在内存中的状态保存下来,在需要的时候获取。 序列化:将对象转换为字节序列,以便在网络传输或存储。 反序列化:将字节序列转换为对象。
Java核心技术之stream详解+Java8及以后的新特性 如何更好的使用Lambda表达式,优雅的使用Stream操作数据的切片、筛选、过滤,以及在大数据量下归类与计算利器Map/Reduce
Java核心技术之泛型详解 Java核心技术之泛型详解,没看过官网,不知道类型擦除会产生的问题还敢说自己了解泛型,原理、源码、实战有了解吗