java数据类型转换总结

1.基本数据类型转换

基本转换规则
  1. 八种基本数据类型当中出boolean类型之外剩下的其中类型之间都可以相互转换
  2. 小容量向大容量转换,称为自动类型转换。容量从小到大排序:
    byte < short < int < long < float < double
       char <

java数据类型转换总结_第1张图片

  1. 大容量转换为小容量,叫做强制类型转换,需要加强制类型转换符。例如:
float num1=123f;
int num2=(int) num1;
  1. 当整数字面值没有超过byte,short,char的取值范围,可以直接赋值类byte,short,char类型的变量
  2. byte,short,char混合运算的时候,各自先转换成int类型再做运算
  3. 多种数据类型混合运算,先转换成容量最大的那种类型再做运算

基本数据类型的长度表:

基本类型 字节数(byte) 位数(bit) 取值范围(最小值——最大值)
byte 1 8 -128(-2^7) —— 127(2^7-1)
short 2 16 -32768(-2^15)—— 32767(2^15 - 1)
int 4 32 -2^31—— 2^31 - 1
long 8 64 -2^63 —— 2^63 -1
float 4 32 单精度、32位、符合IEEE 754标准的浮点数
double 8 64 双精度、64 位、符合IEEE 754标准的浮点数
char 2 16 0——2^16-1(65,535)

2. 包装类(Wrapper Class)与基本数据类型的

基本数据类型与其相对应的包装类:

基本数据类型 包装类
byte Byte
boolean Boolean
short Short
char Character
int Integer
long Long
float Float
double Double
  1. JDK1.5提供了自动装箱(autoboxing)和自动拆箱(autounboxing)功能, 从而实现了包装类和与其对应基本数据类型之间的自动转换

3. 另外,对于特殊的“String”

  1. 基本类型变量—>String.valueof()—>字符串
  2. 字符串—WrapperClass.parseXxx(string)—>基本类型变量()
    例如:String转int:Integer.parseInt(str)

验证代码:

/**
 *数据类型转换
 * 2020年6月15日22:04:35
 */
public class DataTypeConversion {
    public static void main(String[] args) {
        System.out.println("基本数据类型之间的转换");
        byte by=12;//12默认是int类型,这里使用了第四条准则
        //byte by2=10000;//错误演示,超出了byte的表示范围
        byte by3=(byte)10000;//强转会出现精度损失,造成数据出错
        float num=123;//这里代表的是自动类型转换
        float num1=123f;
        int num2=(int) num1;
        System.out.println(by);
        System.out.println(by3);
        System.out.println(num2);

        
        System.out.println("包装类与基本数据类型的转换");
        Integer i=3;//3为int型,自动装箱为Integer
        int i1=i;//自动拆箱
        System.out.println(i.getClass());
        System.out.println(i1);

        
        System.out.println("基本数据类型(包装类)与String");
        String str="10";
        System.out.println(Integer.parseInt(str));//String--->int

        String str2="true";
        System.out.println(Boolean.parseBoolean(str2));//String--->boolean

        String s = String.valueOf(by);
        System.out.println(s.getClass());//byte--->String

        String s2 = String.valueOf(true);
        System.out.println(s2);//boolean--->String
    }
}

结果截图:
java数据类型转换总结_第2张图片

个人总结,若是有不足之处,请与下方评论指正

你可能感兴趣的:(Java)