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

【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.kler.cn/a/375132.html

相关文章:

  • 基于深度学习的社交网络中的社区检测
  • 【C++】位图详解(一文彻底搞懂位图的使用方法与底层原理)
  • ssm基于vue搭建的新闻网站+vue
  • 缓存使用的最佳实践,自定义缓存工具类
  • HTML、JavaScript和CSS实现注册页面设计
  • Oracle 开窗函数
  • 数据源分层开发和连接池
  • 资深项目经理推荐的这五款国产项目管理软件值得收藏使用
  • Pyhton自动化测试持续集成和Jenkins
  • maven 学习笔记:20241024
  • HJ38 求小球落地5次后所经历的路程和第5次反弹的高度
  • 使用Linux连接阿里云
  • 后端检测_文件头检测漏洞
  • 多处理机调度(李昂学长视频总结)25新增考点
  • 探索Python终端美化的终极利器:Rich库
  • SCRM系统的价格揭秘及投资回报分析
  • 边缘计算网关在机床数据采集中的应用-天拓四方
  • pandas——DataFrame
  • 多模态大模型的应用探索:多样场景下的创新实践
  • sql练习专场(一) 1-5
  • Linux·进程间通讯(管道)
  • python/Django创建应用(app)
  • 逗号运算符应用举例
  • SpringBoot国际化:创建多语言支持的Web应用
  • 【K倍区间】
  • 笔记-配置PyTorch(CUDA 12.2)