当前位置: 首页 > news >正文

【Java SE】类型转换

类型转换是将一个值从一种类型转换为另一种类型的过程。该过程如果从低精度数据类型转为高精度数据类型,则不会发生溢出并且总能成功,如果从高精度数据类型转为低精度数据类型,则会有信息丢失且可能失败。类型转换又可分为隐式转换显式转换两种。

😺 隐式转换

从低精度类型向高精度类型的转换,该过程系统自动进行。数据类型按精度从低到高排序的顺序为:

//(1) char < int < long < float < double
//(2) byte < short < int < long < float < double

细节说明

(1)多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

(2)(byte,short)char之间不会互相自动转换。

byte b = 1;
// 错误示范:char c = b; 不能自动转换!

(3)byteshortchar三者可以一起参与计算,在计算时首先转换为int类型(编译器规定的)。

byte b = 1;
short s = 1;
int i = b + s // 声明的类型不能是 short,否则会报错!

(4)boolean不参与转换。

😽 显式转换

从高精度类型向低精度类型的转换,是隐式转换的逆过程,使用时需要加上强制转换符(),当可能会造成精度降低或溢出,具体语法如下:

// (类型名)要转换的值,例如:
int i = (int)1.9;

细节说明

(1)强转符号只针对最近的操作数有效,往往使用小括号提升优先级。

(2)char类型可以保存int常量值(字面量),但不能保存int变量值,需强转。

// 常量可保存
char c1 = 100;// 变量需强转
int i = 100;
char c2 = (char)i;
http://www.lryc.cn/news/475104.html

相关文章:

  • JAVA:常见 JSON 库的技术详解
  • Redis缓存击穿、雪崩、穿透解决方案
  • C++ 优先算法——盛最多水的容器(双指针)
  • blender 小车建模 建模 学习笔记
  • 导出列表数据到Excel并下载
  • 基于NVIDIA NIM平台实现盲人过马路的demo(一)
  • 美格智能5G车规级通信模组:以连接+算力驱动智能化进阶
  • [MRCTF2020]PYWebsite1
  • 无源元器件-磁珠选型参数总结
  • 宝顶白芽,慢生活的味觉盛宴
  • 已知三角形三边长求面积用仓颉语言作答
  • 【JavaScript】匿名函数及回调函数总结
  • HTML鼠标移动的波浪线动画——页面将会初始化一个Canvas元素,并使用JavaScript代码在Canvas上绘制响应鼠标移动的波浪线动画
  • 树莓派开发相关知识八-其他传感器
  • ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程
  • STM32G4 双ADC模式之常规同步模式独立注入模式
  • 深入理解网络协议:OSPF、VLAN、NAT与ACL详解
  • idea 配置tomcat 服务
  • .net core 接口,动态接收各类型请求的参数
  • 关注!这些型号SSD有Windows蓝屏问题需要修复
  • go语言gin框架平滑关闭——思悟项目技术2
  • K8S flannel网络模式对比
  • Vue前端框架:Vue前端项目文件目录
  • git回滚到指定的提交
  • 手机怎么玩森林之子?远程玩森林之子教程
  • 深度学习之网络与计算
  • 《JVM第1课》Java 跨平台原理
  • 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-30
  • 加强版 第五节图像处理与视频分析
  • Orleans8.2入门测试