day4-java中类型的转换2021-07-07

day4-java中类型的转换

由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

运算中,不同类型的数据先转换为同一类型,然后进行运算。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-htkrqyky-1625665974748)(…/…/AppData/Roaming/Typora/typora-user-images/image-20210707191247543.png)]

规律:字节越长地位越高,小数类型大于证整数类型

类型转换

public class Demo04 {
    public static void main(String[] args) {
        int i=128;
        //强制转换(类型)+变量或名;
        byte b= (byte) i;
        System.out.println(i);//128
        System.out.println(b);//-128
        
/*
* 注意点:
* 1.不能对布尔值进行转换
* 2.不能把对象类型转换为不相干的类型
* 3.在把高容量转换为低容量的时候,强制转换
* 4.转换的时候可能存在内存溢出,或者精度问题
*
* */
        System.out.println("=========================");
        System.out.println((int)48.5);//48
        System.out.println((int)-45.23f);//45
        
        
  System.out.println("=====================");
        char c='a';
        int d=c+1;
        System.out.println(d);
        System.out.println((char)d);
        
        //操作数过大时注意溢出问题
//jdk7后,数字之间可以用下划线分割,便于查看
        int money=10_0000_0000;
        int years=20;
        int total=money*years;
        System.out.println(total);//因为溢出所以输出的结果为:-1474836480
        double t1=money*years;//因为转换类型是在计算结果之后做的,所以输出结果还是:-1474836480
        double t2=money*(double)years; //在运算之前强转,就可以输出正常:
        System.out.println(t2);//2.0E10

    }
}

当高位转低位时需要强制转换,低位转高位不需要强制转换(自动转换),高位转低位时要看一下原本的数据是不是超出低位取值范围,超出时就会出现内存溢出的现象

上一篇:Java学习Day4


下一篇:Java学习day4