数据类型-转换-隐式转换和显式转换

简介: 数据类型-转换-隐式转换和显式转换

数据类型转换分为隐式转换和显式转换,根据不同的转换对象,来确定是那种类型的转换。


隐式转换:就是系统默认的、不需要加以声明就可以进行转换。


首先来说在程序语言中默认的类型,一般整数是int类型 ,浮点数(3.14),默认就是double类型。但是还有其他类型的,例如整数类型的long,浮点数的float。当相同类型之间相遇的时候,就会出现隐式转换的问题。


那么隐式转换的规则就是根据数据类型从小到大的转换:


byte→short→int→long(整数类型)


例如:


long num1 = 100;这个num1根据类型命名为long整数型,但是右侧的100在程序语言中默认为是int整数类型。然而根据隐式转换规则,int类型可以自动的转换为long整数类型。故而在程序运行的时候不会出现错误。


float→double(浮点数)


例如:


double num1 = 2.5F(F在这里代表是float类型的意思);这个同上复述。num1是double类型,但是2.5F是float类型,因为符合隐式转换的规则,所以2.5F会自动的转换为双精度类型,2.50.


显示转换:当系统默认转换不能转换的时候,而我们又需要把某一类型改为另一个类型,这个过程我们称之为显示转换也叫做强制转换。


例如:


double类型转换成int类型,如int num1 = 3.14(3.14默认为double类型)int是整数型,是不带小数点的,然而在double类型中是带小数点之后两位的,如果要想让这行代码成立,则需要强制转换,在不同的程序语言中有不同的方法,这里是用java语言来说明的,int num1 = (int)3.14;只要如此写,在程序中这行代码就可以运行。


精度丢失:


然而在这样情况下,会出现一个比较常见的问题,也是经常会遇见的错误,精度丢失,就是3.14double类型的转换到int类型之后,就只剩下了一个3,变为整数型。这不是四舍五入的套路,你就是3.99,也是会成为int类型的3,因为是精度丢失,就是没有了,所以不要想其它的。这也是强制转换的一个后续问题,当然不单单是这两个类型可以强制转换,一些常见的类型都是可以的。


当隐式转换(自动转换)不能解决问题的时候,可以尝试使用显示转换(强制转换),但是需要注意的是,精度丢失的问题是否影响结果,如果影响,请注意哦。


相关文章
|
搜索推荐 Ubuntu 测试技术
记录一次我做的influxDB性能测试
2018年做了一次influxDB测试,这里记录一下
2146 0
|
分布式计算 数据可视化 时序数据库
使用阿里云InfluxDB®和Spark Streaming实时处理时序数据
本文重点介绍怎样利用阿里云InfluxDB®和spark structured streaming来实时计算、存储和可视化数据。下面将介绍如何购买和初始化阿里云InfluxDB®,扩展spark foreach writer,以及设计阿里云InfluxDB®数据库时需要注意的事项。
7185 0
|
7月前
|
人工智能 IDE API
10行代码,实现你的专属阿里云OpenAPI MCP Server
本文介绍如何用10行Python代码创建专属阿里云OpenAPI MCP Server。针对传统MCP Server工具固化、开发复杂等问题,提出借助alibaba-cloud-ops-mcp-server实现灵活拓展的方案。通过配置服务与API名称,运行简短代码即可生成支持SSE连接的MCP Server。用户无需深入了解阿里云OpenAPI细节,大幅降低开发门槛。未来将探索通用工具设计,实现固定工具调用任意API,进一步提升灵活性与效率。
|
5月前
|
IDE Shell Go
真香,Cursor懂的都懂(学习用哈),22.5k一键重置Cursor试用限制!被全网疯狂收藏!
go-cursor-help是一款用 Go 编写的开源工具,可在 3 秒内刷新 Cursor IDE 的机器码,绕过试用限制。支持 Windows、macOS 和 Linux,具备跨平台兼容性,自动配置系统架构。核心功能包括一键重写 `storage.json`、可选随机化 MAC 地址、禁用 Updater 避免版本升级干扰,以及内置历史版本回滚机制。
1494 1
|
6月前
|
人工智能 并行计算 监控
在AMD GPU上部署AI大模型:从ROCm环境搭建到Ollama本地推理实战指南
本文详细介绍了在AMD硬件上构建大型语言模型(LLM)推理环境的全流程。以RX 7900XT为例,通过配置ROCm平台、部署Ollama及Open WebUI,实现高效本地化AI推理。尽管面临技术挑战,但凭借高性价比(如700欧元的RX 7900XT性能接近2200欧元的RTX 5090),AMD方案成为经济实用的选择。测试显示,不同规模模型的推理速度从9到74 tokens/秒不等,满足交互需求。随着ROCm不断完善,AMD生态将推动AI硬件多元化发展,为个人与小型组织提供低成本、低依赖的AI实践路径。
2276 1
在AMD GPU上部署AI大模型:从ROCm环境搭建到Ollama本地推理实战指南
|
11月前
|
运维 物联网 数据处理
TDengine vs InfluxDB:谁的“流式计算”功能是真的?
随着物联网、车联网、工业物联网等领域的快速发展,时序数据的处理需求也在不断增加。为了满足这一需求,时序数据库应运而生,为高频数据写入和实时分析提供了强有力的支持。在这一领域,TDengine 和 InfluxDB 是两大领先的解决方案。尽管两者都具有强大的时序数据处理能力,但在流式计算方面,二者存在显著差异。
259 5
|
算法 Serverless 编译器
什么是计算机程序
计算机程序,简而言之,是一系列指令的集合,这些指令指挥计算机硬件执行特定的操作。这些指令通常是用高级编程语言编写的,然后通过编译器或解释器转换成计算机硬件可以理解的机器语言。计算机程序是计算机系统的核心组成部分,它使得计算机能够执行复杂的任务,如数据分析、图像处理、游戏运行等。
397 0
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
11月前
|
缓存 物联网 数据库
InfluxDB vs TDengine :2025 年了,谁家用的数据库还不能高效读缓存?
在工业互联网和物联网的大数据应用场景中,实时数据的写入和查询性能至关重要。如何快速获取最新设备状态并实时处理数据,直接影响到业务的高效运转。本文将深入分析 TDengine 和 InfluxDB 在缓存机制上的差异,帮助读者更好地理解这两款主流时序数据库在性能优化方面的优劣。
971 1
|
存储 NoSQL 大数据
大数据中数据存储 (Data Storage)
【10月更文挑战第17天】
1542 2