数据类型转换
来源:互联网 发布:c 接ctp的源码示例 编辑:程序博客网 时间:2024/06/08 08:19
自动类型转换
容量小的数据类型可以自动转换为容量大的数据类型。这里的容量不是指字节数,而是指表述的范围;
int i=3;double d =i;float f =i;double d2=f;
如图所示,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度损失。
例子:
可以将整型常量直接赋给byte、short、char等类型变量,而不需要进行强制类型转换,只要不超出其表述范围即可。
short b1 =12; //合法short b2 =12345678; //不合法
强制类型转换
强制类型转换,又被称为造型,用于显示的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或者溢出。
public class Demo{ public static void main(String[] args) { double x=3.14; int nx=(int)x; //值为3 char c='a'; int d=c+1; System.out.println(nx); System.out.println(d); System.out.println("----------"); System.out.println((char)d); }}
运行结果如图所示:
当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断称为一个完全不同的值。
public class Demo{ public static void main(String[] args) { int x=300; byte bx=(byte)x; System.out.println(bx);//打印强制转换的值 }}
运行结果如图所示;
表达式中的类型提升问题
在这里会出现报错信息,表示精度缺失。做所有的二元运算符(+-*/%),都会又类型提升的问题。
阅读全文
1 0
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 数据类型转换
- 线性表
- G
- Java值传递和引用传递
- 关于Android studio 模拟器打不开,而且连不上第三方模拟器,一直停留在waiting for target deviceto come online
- 九度oj 专题整理(模拟部分4)
- 数据类型转换
- 拷贝web项目后,提示404没有找到文件的几大原因
- nginx负载均衡配置
- JavaScript中几个特殊的对象:window对象、this对象、global对象
- TCP socket通信粘包分析及解决思路
- 动态库、静态库的生成
- 【DDD】领域驱动设计实践 —— 架构风格及架构实例
- [self.tableView scrollToRowAtIndexPath:]方法滑动崩溃
- mysql中文乱码问题(转载)