7-类型转换

类型转换

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

低------------------------->高

byte, short,char -> int -> long-> float -> double
运算中,不同类型的数据先转化为同一类型,然后进行运算。

强制类型转换 (类型) 变量名 高---->低

int a=100;
byte b=(byte)a;

自动类型转换 低---->高

int a=127;
long b=a;

注意点:

1.不能对Boolean进行转换

2.不能把对象类型转化为不相干的类型

3.在把高容量转换到低容量的时候,强制转换

4.转换的时候可能存在内存溢出,或者精度问题

字符转换char

字符本质还是数字

public class Demo4 {
    public static void main(String[] args) {
        char a='M';
        int b=a+1;
        
        System.out.println(b);         //输出结果78
        System.out.println((char)b);   //输出结果N
    }
}

操作比较大的数的时候,注意溢出问题

public class Demo5 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total=money*years;    //-1474836480,计算时候溢出了
        long total2=money*years;  //-1474836480,默认是int,转换之前已经存在问题

        long total3=money*((long)years);  //先把一个数转换为long

        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}
posted @ 2023-02-05 12:27  佩德罗帕斯卡  阅读(23)  评论(0)    收藏  举报