一、定义:当把一种基本数据类型变量的值赋给另一种基本类型变量时,就涉及数据转换。
会有以下几种情况
1.当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。
float x = 100;如果输出x的值,结果将是100.0
2.当把级别高的变量的值赋给级别低的变量时,必须使用类型转换运算,格式如下:(要转换的类型名)要转换的值;
例如:
int x = (int)34.89;//括号里是要转换的类型名
3.类型转换运算的结果的精度可能低于原数据的精度
二、程序测试
public class Example2 {
public static void main (String args[]) {
byte b = 22;
int n = 129;
float f =123456.6789f;
double d=123456789.123456789;
System.out.println("b = "+b);
System.out.println("n = "+n);
System.out.println("f = "+f);
System.out.println("d = "+d);
b = (byte)n;//导致精度损失
f = (float)d;//导致精度损失
System.out.println("b = "+b);
System.out.println("f = "+f);
}
}
输出结果:
b = 22
n = 129
f = 123456.68
d = 1.2345678912345679E8
b = -127//因为129大于127(byte型最大为127)所以129-127=2,默认从最小(-128)开始数两个数,得到-127.
f = 1.23456792E8
(E8代表10^8,另外昨天的博客中提到的浮点型占多少位,是指小数点前和小数点后总共的位数)