一、数据类型转换
1.隐式类型转换
从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换称为隐式类型转换。
代码实例如下
int x=50; //声明int的变量x
float y=x; //将x赋值给y
操作数1的数据类型 | 操作数2的数据类型 | 操作数3的数据类型 |
byte、short、char | int | int |
byte、short、char、int | long | long |
byte、short、char、int、long | float | float |
byte、short、char、int、long、float | double | double |
下面通过一个简单的例子介绍一下数据类型的隐式转换
代码实况如下
package Number;
public class Conver {
public static void main(String[] args) {
byte mybyte=127; //定义byte型变量mybyte,并把byte型变量允许的最大赋值给mybyte
int myint=150; //定义int型变量myint,并赋值150
float myfloat=452.12f; //定义float型变量myfloat,并赋值
char mychar=10; //定义char型变量mychar,并赋值
double mydouble=45.46546; //定义double型变量mydouble,并赋值
//将运算结果输出
System.out.println("byte型与float型数据进行运算结果为:"
+(mybyte+myfloat));
System.out.println("byte型与int型数据进行运算结果为:"
+(mybyte+myint));
System.out.println("byte型与char型数据进行运算结果为:"
+(mybyte+mychar));
System.out.println("double型与char型数据进行运算结果为:"
+(mydouble+mychar));
}
}
2.显式类型转换
当把高精度的变量的赋值给低精度的变量时必须使用显式类型转换运算
代码实例如下
int a=(int)45.23; //此时输出a的值为45
long y=(long)456.6F; //此时输出y的值为456
int b=(int)'d'; //此时输出b的值为100
提示:当把整数赋值给一个byte、short、int、long型变量时,不可以超出这些变量的取值范围,否则必须进行强制类的转换。例如:byte b=(byte)129;