Java中数据类型的转换规则
来源:互联网 发布:视频制作软件免费下载 编辑:程序博客网 时间:2024/05/17 00:10
Java中数据精度比较
byte<short<int<long<float<doublebyte<short<int<long<float<double
在Java中的小数默认为double类型。
强制转换:int a=(int)1.2;
计算过程中的转换:在计算过程中一个int和一个double运算的时候,运算结果会向
double类型转。
Java中常见的发生类型转换的上下文:赋值时类型转换、方法调用时类型转换、强制类型转换、字符串类型转换、数值类型提升。
当上下文要求类型转换时,Java基本数据类型转换规则有三种:
1、宽转换(自动类型转换或隐式转换):
自动转化:数据类型可以自动从低精度—>高精度。
(1):byte可以直接转换到short、int、long、float、double。
(2):short可以直接转换到int、long、float、double。
(3):char可以直接转换到int、long、float、double。
(4):int可以直接转换到long、float、double。
(5):long可以直接转换到float、double。
(6):float可以直接转换到double。
注:
1、int转换到float或long转换到double,很有可能会造成精度丢失。2、byte、short、int都是有符号的整数,在进行宽转换时要进行符号位的扩展。例:int i=(char)
(byte)(-1)。i=65535。
2、窄转换:
(1):double可以直接转换到byte、short、char、int、long、float。
(2):float可以直接转换到byte、short、char、int、long。
(3):long可以直接转换到byte、short、char、int。
(4):int可以直接转换到byte、short、char。
(5):char可以直接转换到byte、short。
(6):short可以直接转换到byte、char。
注:1、窄转换在大多数情况下会丢失信息。例如:当int窄转换到byte时,会丢掉int的高3个字节(24位),将最低的一个字节(8位)放入byte中。2、char转换到short,直接将char的两个字节放入short的两个字节,虽然两个都是2个字节,但是由于一个有符号、一个没符号,所以在转换过程中可能由一个正数变成了一个负数。
3、宽窄同时转换:
宽窄同时转换发生在byte转换到char期间。其转换过程为:先将byte宽转换到int,再将int窄转换到char。
- Java中数据类型的转换规则
- java——不同数据类型的转换规则
- java基本数据类型自动转换规则
- C语言中不同数据类型间混合运算的转换规则
- C语言中不同数据类型间混合运算的转换规则
- java 中类型转换规则
- doctrine 与 mysql 数据类型的详细转换规则。
- 前端-javascript-不同数据类型间的运算,数据类型转换规则
- 关于基本数据类型转换规则
- JavaScript数据类型转换规则
- 捋一捋Javascript数据类型转换规则
- js数据类型转换规则
- javascript中执行类型的转换规则
- JAVA 类型转换规则
- JAVA 类型转换规则
- 【Java】自动类型转换规则
- 【Java】自动类型转换规则
- C语言中算术运算的隐式类型转换规则
- android 常用 adb 命令
- Spark任务调度流程及调度策略分析
- 小白学习 Retrofit2 由浅入深
- jsp中执行onclick会刷新一次页面的问题
- OFBiz入门实训教程
- Java中数据类型的转换规则
- 数组Array转成List的几种方法
- js原型解析
- android中invalidate()的自动清屏含义以及屏幕刷新
- [操作系统]处理UIScrollView中的编辑框被弹出键盘遮挡的问题
- JS面向对象——继承
- sql中左连接是什么意思啊,有什么作用啊?能否给个例子,谢谢大家
- Map集合中value()方法与keySet()、entrySet()区别
- 机器学习中的范数规则化之(一)L0、L1与L2范数