Java数据类型转换

类型转换

Java属于强类型语言,所以在运算的时候需要用到类型转换。

从低到高排序

低——————————————————>高

byte short char——>int——>long——>float——>double

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

public class text {
    public static void main(String[] args) {
        int a = 111;
        double b = a;
        System.out.println(b);//√√√   自动转换
        System.out.println("==================================");
        double a1 = 13.14;
        int b1 = (int)a1;
        System.out.println(b1);
        System.out.println("=============================");
        //这样就会报错    因为数据类型不一样
        //强制转换 适用于 高转低
        //自动转换 就是 低转高
        int a2 = 133;
        byte c = (byte)a2;  //强制转换   (类型)变量名   例如:double d = (double)a;
        // 但是输出结果为-123 原因是内存溢出了
        System.out.println(c);
        System.out.println((int)13.14);//输出为13
        System.out.println("======================================");
        char d = 'b';
        int a3 = d+1;
        System.out.println(a3);
        System.out.println((char)a3);// 输出为99   c
    }
}

注意点

  1. 不能转换布尔类型
  2. 不能把对象类型转换为不相干的类型
  3. 高转低 强制转换
  4. 转换中可能存在内存溢出,或者精度问题

补充

        int money = 1000000000;
        int years = 20;
        int total = money*years;
        System.out.println(total);//-1474836480  结果溢出了
        long total2 = money*years;
        System.out.println(total2);//  -1474836480 结果一样  因为转换之前就是int  所以在转换之前就出现问题了
        long total3 = money*(long)years;  //  需要先把一个数据进行转换
        System.out.println(total3); //结果正确 20000000000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值