学习笔记之类型转换

类型转换

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

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

byte, short, char,int,long,float,double

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

强制类型转换

自动类型转换

public class Demo4 {
    public static void main(String[] args) {
        int i = 128;

        byte b =(byte)i;//内存溢出
        //强制转换  (类型)变量名 高到低



        System.out.println(i);
        System.out.println(b);
        int i1 =128;
        double i2 =i1;
        System.out.println(i1);
        System.out.println(i2);//自动转换  低--高

        /*
        *不能对布尔值进行转换
        * 不能把对象类型转换为不相干的类型
        * 在把高容量转化为低容量的时候,强制转换
        * 转换的时候可能存在内存溢出,或者精度问题!
        *
        * */
        System.out.println("================================================================================");
        System.out.println((int)23.7);//23
        System.out.println((int)-45.89);//-45

        char c ='a';
        int d =c+2;
        System.out.println(d);//低转高自动转换
        System.out.println((char)d);

        
        //操作比较大的数的时候注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int money =10_0000_0000;
        System.out.println(money);
        int years =20;
        int total =money*years;
        System.out.println(total);//-计算的时候溢出了

        long total2 =money*years;
        System.out.println(total2);//默认是int,转换之前已经存在问题了

        long total3 =((long)money)*years;
        System.out.println(total3);

        long total4 =money*((long)years);
        System.out.println(total4);

        long hb =100_0000_0000L;
        long hn =20L;
        long total5 =hb*hn;
        System.out.println(total5);

        long hb1 =32000L;
        short hb2 =(short) hb1;
        System.out.println(hb2);

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值