JAVA中数值类型转换

简介: 记录JAVA中数值类型转换的基本描述

@[TOC]

1 问题引入

经常需要将一种数值类型转换为另一种数值类型;
例如1+3.72--->整型+浮点型。结果为4.72没问题,可是会有一些精度的问题。

2 查看问题

请看以下代码:

        int n =  987654321;
        float f = n;

此时f的值为9.8765434E8
就已经对精度没那么准确了。
所以统计了一下数值类型之间的合法转换:
在这里插入图片描述
因为两个类型相加,先将两个操作数据转换为同一种类型,转换时总会比变成大容量的一方,所以图中是单向箭头。
黑色箭头表示无信息丢失转换。
红色箭头标识可能有精度损失转换。(就像上方的例子)。

3 注意事项

如果两个操作数中有一个是 double 类型,另一个操作数就会转换为 double 类型
否则,如果其中一个操作数是 float 类型,另一个操作数将会转换为 float 类型
否则,如果其中一个操作数是 long 类型,另一个操作数将会转换为 long 类型。
否则,两个操作数都将被转换为 int 类型。
上面只会由小->大转换,那么大->小转换如何呢,可以看一下强制类型转换

相关文章
|
Java
2048. 下一个更大的数值平衡数 --力扣 --JAVA
如果整数  x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。 给你一个整数 n ,请你返回 严格大于 n 的 最小数值平衡数 。 0 <= n <= 106
213 3
|
3月前
|
安全 Java 编译器
Java类型提升与类型转换详解
本文详解Java中的类型提升与类型转换机制,涵盖类型提升规则、自动类型转换(隐式转换)和强制类型转换(显式转换)的使用场景与注意事项。内容包括类型提升在表达式运算中的作用、自动转换的类型兼容性规则,以及强制转换可能引发的数据丢失和运行时错误。同时提供多个代码示例,帮助理解byte、short、char等类型在运算时的自动提升行为,以及浮点数和整型之间的转换技巧。最后总结了类型转换的最佳实践,如避免不必要的转换、使用显式转换提高可读性、金融计算中使用BigDecimal等,帮助开发者写出更安全、高效的Java代码。
208 0
|
11月前
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
本文介绍了Java开发中常见的数据处理技巧,包括数据判空、数据比较和类型转换。详细讲解了字符串、Integer、对象、List、Map、Set及数组的判空方法,推荐使用工具类如StringUtils、Objects等。同时,讨论了基本数据类型与引用数据类型的比较方法,以及自动类型转换和强制类型转换的规则。最后,提供了数值类型与字符串互相转换的具体示例。
592 3
|
存储 Java
Java入门——数据类型、自动类型转换、强制类型转换
Java入门——数据类型、自动类型转换、强制类型转换
101 2
|
安全 Java 编译器
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
145 4
|
Java 编译器 程序员
Java自动类型转换的妙用
Java中的自动类型转换(隐式类型转换)是指编译器在无需显式指定的情况下自动将一种数据类型转换为另一种类型。这一特性简化了代码,提高了可读性,并在多态中发挥了重要作用。例如,在数学运算时,较小类型会自动转换为较大类型以避免精度损失;在面向对象编程中,子类对象可以自动转换为父类引用,增强了代码的灵活性和兼容性。此外,它还使得数组和集合的使用更加方便,整体上让编程更加优雅和高效。
205 25
|
Java
java 文件上传 :MultipartFile 类型转换为file类型
java 文件上传 :MultipartFile 类型转换为file类型
387 9
|
存储 安全 Java
day17:Java零基础 - 基本类型转换
【7月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
113 2
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
java 开发中我们经常会用到的数据判空、数据比较和不同数据之间的类型转换,尤其数据判空可以让我们避免经常会出现 NullPointerException 空指针异常报错。
|
存储 Java 程序员
Java中的自动类型转换(Automatic Type Conversion)
Java中的自动类型转换(Automatic Type Conversion)
565 0