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 类型。
上面只会由小->大转换,那么大->小转换如何呢,可以看一下强制类型转换

相关文章
|
6月前
|
Java
2048. 下一个更大的数值平衡数 --力扣 --JAVA
如果整数  x 满足:对于每个数位 d ,这个数位 恰好 在 x 中出现 d 次。那么整数 x 就是一个 数值平衡数 。 给你一个整数 n ,请你返回 严格大于 n 的 最小数值平衡数 。 0 <= n <= 106
141 3
|
5月前
|
存储 Java
Java入门——数据类型、自动类型转换、强制类型转换
Java入门——数据类型、自动类型转换、强制类型转换
36 2
|
2月前
|
Java 编译器 程序员
Java自动类型转换的妙用
Java中的自动类型转换(隐式类型转换)是指编译器在无需显式指定的情况下自动将一种数据类型转换为另一种类型。这一特性简化了代码,提高了可读性,并在多态中发挥了重要作用。例如,在数学运算时,较小类型会自动转换为较大类型以避免精度损失;在面向对象编程中,子类对象可以自动转换为父类引用,增强了代码的灵活性和兼容性。此外,它还使得数组和集合的使用更加方便,整体上让编程更加优雅和高效。
|
6月前
|
安全 Java 编译器
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
【Java开发指南 | 第四篇】Java常量、自动类型转换、修饰符
49 4
|
4月前
|
Java
java 文件上传 :MultipartFile 类型转换为file类型
java 文件上传 :MultipartFile 类型转换为file类型
177 9
|
4月前
|
存储 安全 Java
day17:Java零基础 - 基本类型转换
【7月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
32 2
|
5月前
|
前端开发 JavaScript Java
java常用数据判空、比较和类型转换
java 开发中我们经常会用到的数据判空、数据比较和不同数据之间的类型转换,尤其数据判空可以让我们避免经常会出现 NullPointerException 空指针异常报错。
54 4
|
6月前
|
存储 Java 程序员
Java中的自动类型转换(Automatic Type Conversion)
Java中的自动类型转换(Automatic Type Conversion)
204 0
|
6月前
|
Java
Java String类型转换成Date日期类型
Java String类型转换成Date日期类型
|
6月前
|
Java 编译器
【Java探索之旅】解密Java中的类型转换与类型提升
【Java探索之旅】解密Java中的类型转换与类型提升
174 0