study 4

该博客探讨了Java中的类型转换,包括从int到byte的强制转换,可能导致的溢出问题,以及类型提升过程中精度的变化。示例代码展示了整数溢出、浮点数到整数的转换以及字符与整数之间的转换。还提到了使用下划线分隔大数字以避免溢出的新特性,并通过实例展示了可能导致溢出的数学运算。
摘要由CSDN通过智能技术生成
public class demo03 {
    public static void main(String[] args) {
        int i=12;
        byte b=(byte)i;
        System.out.println(i);
        System.out.println(b);

        //强制转换 (类型)变量名  高--低
        System.out.println("==============================================");


        int c=128;
        byte d=(byte)c;
        System.out.println(c);
        System.out.println(d); //内存溢出(避免溢出)
        System.out.println("==============================================");


        int e=128;
        double f=e;    //不需要添加(类型)  类型由低--高,自由转换
        System.out.println(e);
        System.out.println(f);
        System.out.println("==============================================");

        System.out.println((int)24.5); //24
        System.out.println((int)-56.97); //56
        // 转换的时候也有可能存在精度问题。

        System.out.println("==============================================");
        char g='a';
        int h=g+1;
        System.out.println(g);
        System.out.println(h);  //即a=97 (自转)
        System.out.println((char)h); // 即把h转换为char类型, (char)g=a;h=a+1;so:(char)h=b;  强转。
        System.out.println("==============================================");


        //操作比较大的数字时,注意溢出问题
        //jdk7新特性,数字之间可以用下划线分割。
        int money=1000_000_000;
        int years=20;
        int total=money*years;
        long total2=money*years;
        long total3=money*((long)years);
        System.out.println(total); //溢出问题。
        System.out.println(total2);//默认是int,转换之前已经出现问题啦。
        System.out.println(total3);//先把一个数转换为long,然后相乘。
        
        
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值