zoukankan      html  css  js  c++  java
  • 类型转换和溢出问题

    类型转换和溢出:

        1.不能对布尔值接转换
        2.不能转换为不相干的类型
        3.高容量转换为低容量时,强制转化
        4.转换时可能遇到,内存溢出或者精度问题
    
    public class Demo03 {
        public static void main(String[] args) {
            int i = 128;
            byte b =(byte)i;//内存溢出
            //强制转换   (类型)变量名  高--低
            //自动转换    低到高
            System.out.println(i);
            System.out.println(b);
    
            
            System.out.println("=========");
            System.out.println((int)23.7);
            System.out.println((int)-45.89f);
    
            System.out.println("=========");
            char c = 'a';
            int d = c+1;//将c直接转换为int ,不用强制转换
            System.out.println(d);
            System.out.println((char)d);//char 比 int 低所以强制转换
        }
    }
    
      
    
    

    操做比较大的数时注意溢出问题:

    public class Demo04 {
        public static void main(String[] args) {
            
            int money = 1000000000;
            int years =20;
            int total1=money*years;//-1474836480,溢出
            long total2 =money*years;//-1474836480,默认是int,转换之前已经溢出,存在问题,没有转换成long
    
            long total3 = money*((long)years);//20000000000,先把一个转换为long ,这样可以解决溢出
            System.out.println(total3);
            long l =111L;//long类型记得加 L
            System.out.println(l);
    
        }
    }
    
  • 相关阅读:
    【原】list<T>排序
    [原]unity3d刀光剑影(二)
    [原]unity3D bug记录
    [原]重要工具集
    [原]IOS 后台发送邮件
    [转]IOS 崩溃日志大全(二)
    动态二维数组的建立
    struts 学习
    sizeof()与strlen()的区别
    struts配置。泪奔...
  • 原文地址:https://www.cnblogs.com/XiaoWubeginning/p/14091955.html
Copyright © 2011-2022 走看看