共计 902 个字符,预计需要花费 3 分钟才能阅读完成。
1、数据类型转换
数字类型可以有数据类型上的转换,即将一种类型的值赋值给另外一种类型的变量。但要依据数据范围,符合一定规则:
各种数据类型按照数据范围从小到大:
byte -> short -> int -> long -> float -> double
char->
1.1、自动类型转换
范围小的数据类型值(如 int),可以自动转换为范围大的数据类型值(如 double)
范围大的数据类型 变量 = 范围小的数据类型值;
如:
double d = 1000;
或
int i = 100;
double d2 = i;
/*
数字类型转换: 就是数值转换, 包括整数, 小数, 字符
自动类型转换: 小 --> 大
byte < short(char)< int < long < float < double
格式: 范围大的数据类型 变量名 = 范围小的数据类型的值;
*/
public class VarDemo07{public static void main(String[] args){
// 自动类型转换 int --> double
int i = 100;
double d = i;
System.out.println("i="+i);
System.out.println("d="+d);
}
}
运行结果:
1.2、强制类型转换
范围大的数据类型值(如 double),不可以自动转换为范围小的数据类型值(如 int),但是可以强制转换
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
如:
int i = (int)6.718; // i 的值为 6
或
double d = 3.14;
int i2 = (int)d; //i2 的值为 3
/*
数字类型转换: 就是数值转换, 包括整数, 小数, 字符
强制类型转换: 大 --> 小
格式: 范围小的数据类型 变量名 = (范围小的数据类型) 范围大的数据类型的值;
*/
public class VarDemo08{public static void main(String[] args){
// 强制类型转换
double d2 = 3.14;
//int i2 = d2;// 错误: 可能损失精度
int i2 = (int)d2;
System.out.println("i2="+i2);
System.out.println("d2="+d2);
}
}
运行结果:
正文完
星哥玩云-微信公众号