zoukankan      html  css  js  c++  java
  • 动手动脑感想

    枚举: switch语句支持枚举型,当switch使用int、String类型时,由于值的不稳定性往往会有越界的现象,对于这个的处理往往只能通过if条件筛选以及default模块来处理。而使用枚举型后,在编译期间限定类型,不允许发生越界的情况。当使用常量类时,往往得通过equals去判断两者是否相等,使用枚举的话由于常量值地址唯一,可以用==直接对比,性能会有提高。常量类编译时,是直接把常量的值编译到类的二进制代码里,常量的值在升级中变化后,需要重新编译引用常量的类,因为里面存的是旧值。枚举类编译时,没有把常量值编译到代码里,即使常量的值发生变化,也不会影响引用常量的类。枚举类编译后默认为final class,不允许继承可防止被子类修改。常量类可被继承修改、增加字段等,容易导致父类的不兼容。

    数据类型转换:转换从低级到高级

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

    数据类型转换必须满足如下规则:1. 不能对boolean类型进行类型转换。2. 不能把对象类型转换成不相关类的对象。3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。4. 转换过程中可能导致溢出或损失精度。

    自动类型转换:必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。

    强制类型转换:1.条件是转换的数据类型必须是兼容的。2.格式:(type)value type是要强制类型转换后的数据类型。

    精度损失:对于Java的float和double类型,都存在精度损失的问题。
    精度损失产生的原因在于Java的数据存储采用的都是2进制形式,二进制不能准确的表示1/10等分数,只能无限趋近。

    float的精度损失最严重,然后依次是double,和使用参数类型为double的BigDecimal。使用BigDecimal中参数为String类型的构造方法可以避免精度损失。

     

  • 相关阅读:
    网站微信扫码登陆总结以及在小程序登陆两者关联和关系,vue以及uniapp
    微信扫码登陆在chrome浏览器失败,浏览器禁止重定向
    element-ui多个表单如何同时验证
    vscode中react代码提示插件
    echarts主题全局颜色定义、自定义折线颜色--彩色折线图echarts
    vue本地储存加密
    Echarts多条折线图 y轴数值与实际值不符解决方法
    vue中swiper@5.3.6使用,
    解决 swiper设置loop为true时,echarts图表不显示
    vue+nginx配置,以及nginx配置跨域
  • 原文地址:https://www.cnblogs.com/yuanxiaochou/p/9752586.html
Copyright © 2011-2022 走看看