在java中整型、实型、字符型被视为简单数据类型,这些类型由低级到高级分别为(byte、short、char)--int--long--float--double。
简单数据类型之间的转换又可以分为;低级到高级的自动类型转换、高级到低级的强制类型转换、包装类过渡类转换。
低级变量可以直接转换为高级变量
1 byte b =0x1f; 2 int i=b; 3 long l= b; 4 float f= b; 5 double d=b; 6 System.out.println(b); 7 System.out.println(i); 8 System.out.println(l); 9 System.out.println(f); 10 System.out.println(d);
31 31 31 31.0 31.0
如果低级类型为char 向高级类型转换时,会转换为对应的ASCII码值:
1 char b ='a'; 2 int i=b; 3 long l= b; 4 float f= b; 5 double d=b; 6 System.out.println(b); 7 System.out.println(i); 8 System.out.println(l); 9 System.out.println(f); 10 System.out.println(d);
a
97
97
97.0
97.0
byte、short、char三种类型而言,他们是相同级别的,不能自动转换,只能强转。
高级变量转换为低级变量时,可以使用强制转换。
可以利用包装类作为过渡转换:
float f1 = 100.00f; Float F1 = new Float(f1); Double double1= F1.doubleValue();