Java基本数据类型转换
来源:互联网 发布:淘宝店铺客服 编辑:程序博客网 时间:2024/04/29 23:49
Java基本数据类型转换
1 boolean类型不可以转换成其他的数据类型,其他类型也不能转换为boolean类型。
2 整形,字符型, 浮点型的数据在混合运算中可以互相转换。
* 容量小的类型自动转换成容量大的数据类型。数据类型按容量大小排序为:
# byte, short, char->int->long->float->double
# byte, short, char 之间不会互相转换,他们三者在计算时首先转换成int类型
* 容量大的数据类型转换成容量小的数据类型时,需要加上强制转换符,但可能造成精度降低或溢
出,使用时要格外注意。
* 有多种类型的数据混合运算时,系统首先自动的转换成容量最大的那一种数据类型,然后再进行计算
* 实数常量(如: 1.2)默认为double
* 整数常量 (如:123)默认为int
典型例子分析:
(1) byte b1 = 1;
byte b2 = 2;
byte b3 = (byte) (b1 + b2);
分析:看到一个整数,如无指明,则系统默认为int型。一个int型的数可以直接赋值给byte,short,
char但不能超过他的范围(如:byte表示范围为:-128-127,所以我们不能把129赋给一个byte)如:
long l = 30000000000l;//此处必须加l。不加则显示错误信息:过大的整数。
(2) 整数的溢出与实数的溢出存在不同之处:
如:byte b1 = 67;
byte b2 = 89;
byte b3 = (byte)( b1 + b2);
分析:很明显b3溢出了,不过打印出来的结果会显示-100,这是因为整数的溢出是直接取其低字节,而把高字节去掉。但是:
double d = 1e200;
float f = (float)d;
则打印出来的结果显示为:Infinity。只是因为浮点数在计算机内部表示时还要考虑到小数点,所以如果直接把高字节的去掉是不行的。
(3)可以把float强制转换成long类型,舍去小数部分,而不是简单的四舍五入。
注:float f = 0.1;
看到一个浮点数,如无指明,则系统默认为double型,因此要变成float型,需要指明或作强制转换:
正解:float f = 0.1f; 或者:float f = (float) 0.1;
(4) 错例:float f = 0.1 + 123 * 0.1;
分析:由于有多种类型的数据混合运算时,系统首先自动的转换成容量最大的那一种数据类型,然后再进行计算。此处结果为double型,如需强制转换成float型:
float f = (float)( 0.1 + 123 * 0.1);
- JAVA基本数据类型、数据类型转换
- Java基本数据类型转换
- java基本数据类型转换
- Java基本数据类型转换
- java 基本数据类型转换
- Java基本数据类型转换
- Java 基本数据类型转换
- JAVA基本数据类型转换
- java基本数据类型转换
- java基本数据类型转换
- java基本数据类型转换
- JAVA基本数据类型转换
- java基本数据类型转换
- java基本数据类型转换
- Java基本数据类型转换
- JAVA基本数据类型转换
- Java基本数据类型转换
- Java基本数据类型转换
- 冰雪奇缘 --用爱铸就经典
- C#子线程改变UI的方法
- Android内存优化
- ndk-build调试 .SO 文件
- 网络编程学习(三)
- Java基本数据类型转换
- Hive并发情况下报DELETEME表不存在的异常
- windows 创建并使用github账号
- 扔石子
- Using Intermediate Events and Advanced TaskService Interactions in Oracle BPM Suite 11g
- 【BZOJ】【P2152】【聪聪可可】【题解】【点分治】
- 利用CAShapeLayer可以制作出任意的几何图形,把它作为UIImageView的遮罩,达到把图片做成圆形效果。
- Chessboard - POJ 2446 二分图匹配
- IOS Layer的使用(阴影)