Java数据类型转换
一.自动类型转换
1.1自动类型转换优先级
byte->short->int->long->float->double
1.2自动数据类型转换的条件
1.两种类型要兼容:数值类型(整型和浮点型)互相兼容。
2.目标类型大于源类型:double型空间可以存入ine型数据,因为都变了型变量分配的存储空间足够int型变量。
byte a = 10;
System.out.println(a);
short b = a;
System.out.println(b);
int c = b;
System.out.println(c);
long d = c;
System.out.println(d);
float e = d;
System.out.println(e);
double f = e;
System.out.println(f);
自动数据类型转换运算结果运算结果
二.强制类型转换
如果要将double转换为int类型,不满足自动数据类型转换的条件,就要使用强制类型转换。
double a = 10.10;
//int b = a; // 编译出错
int b = (int)a;正确写法
这个(int)就是强制类型转换符号,()里面是想要转换的类型。这个例子中结果是10。强制类型转换将通过截断小数部分来把一个浮点数值转换为整型。
double a = 123.456;
System.out.println(a);
float b = (float) a;
System.out.println(b);
long c = (long) b;
System.out.println(c);
int d = (int) c;
System.out.println(d);
short e = (short) d;
System.out.println(e);
byte f = (byte) e;
System.out.println(f);
强制数据类型转换运算结果运算结果