Java基础——数据类型之间的转换
- Java数据类型分为三大类,即布尔型、字符型和数值型。其中数值型又分为整型和浮点型。Java的基本数据类型(8种)为布尔型boolean(1字节);字符型char(2字节);整型byte(1字节)、short(2字节)、int(4字节)、long(8字节);浮点型float(4字节)、double(8字节)。此外,编程时还经常用到两种类变量,String和Date。
- Java数据类型的转换一般分三种,分别是:简单数据类型之间的转换、字符串与其他数据类型的转换、其他实用数据类型的转换。
- 简单数据类型之间的转换 在Java中,整型、实型和字符型被视为简单数据类型,这些类型由低级到高级分别为(byte、short、char)---> int ---> long ---> folat ---> double。简单数据类型之间的转换又可以分为:低级到高级的自动类型转换、高级到低级的强制类型转换、包装类过渡类型转换。
-
- 自动类型转换:低级变量可以直接转换成高级变量,这是自动类型转换。 注注注意:如果低级类型为char型,向高级类型转换时,会转换成对应的ASCII码值。
对于byte、short、char三种类型而言,他们是相同级别的,因此,不能相互自动转换,但是可以强制类型转换。eg:short s = 99 ; char c = (char)s ;则c表示的字符为‘c’ 。 - 强制类型转换:将高级变量转换为低级变量时,需要用到强制类型转换,这种转换可能导致溢出或精度的下降。
- 包装类过渡类型转换:Java的包装类就是可以直接将简单类型的变量表示成一个类,Java共有8个包装类,分别是Boolean、Character、Byte、Short、Integer、Long、Float、Double,从字面上可以看出分别对应每一种基本类型。
在进行简单数据类型之间的转换(自动转换或强制转换)时,可以利用包装类进行中间过渡。一般情况下,首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。float f = 100.00f ; Float F1 = new Float(f) ; double d1 = F1.doubleValue() ;
- 自动类型转换:低级变量可以直接转换成高级变量,这是自动类型转换。 注注注意:如果低级类型为char型,向高级类型转换时,会转换成对应的ASCII码值。
2. 字符串与其他数据类型的转换
通过查阅类库中各个类提供的成员方法可以看出,几乎从java.lang.Object类派生出的所有类都提供了toString()方法,可以将该类转化为字符串。数据类型的包装类都可以利用toString()方法将对应的 数据转化为字符串。
3. 将字符型直接作为数字转化为其他数据类型
将字符型变量转化为数值型变量实际上有两种对应关系:一种是将其转化为对应的ASCII码值;另一种是转换关系,例如将'4'转化为4,而不是ASCII码值。对于第二种转换,可以使用Character的getNumericValue(char ch)方法。