类型转换

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

    低------------------------------------------>高
    byte-->short,char-->int-->long-->float-->double
    这里的低和高是指数据类型的容量高低,即字节大小,且小数的优先级一定大于整数
  2. 运算中,不同类型的数据先转换为同一类型,然后再进行运算

  3. 强制类型转换条件

    • 从高容量的数据类型转换到低容量的数据类型
    • 特殊的强制类型转换:byte-->char short-->char char-->short
    • 公式:(类型)变量名
  4. 自动类型转换条件

    • 从低容量的数据类型转换到高容量的数据类型(byte-->char除外)
    • 可以自动转换,无需公式
  5. 注意点:

    • 不能对布尔值进行转换
    • 不能把对象类型转换为不相干的类型
    • 在把高容量转换到低容量的时候,需要强制转换
    • 转换的时候可能存在内存溢出或精度丢失的问题
  6. 操作比较大的数的时候,注意溢出问题

    public class Demo04 {
    public static void main(String[] args) {
    int money=10_0000_0000//JDK7的新特性:数字之间可以用下划线分割
    int years=20;
    int total1=money*years;//-1474836480,计算的时候出现了内存溢出的问题
    long total2=money*years;//默认是int,转换之前就已经存在问题了
    long total3=((long)money)*years;//先把一个数转换为long,可计算的范围便从int的范围扩大到了long的范围
    long total4=money*((long)years); System.out.println(total1);
    System.out.println(total2);
    System.out.println(total3);
    System.out.println(total4);
    }
    }

最新文章

  1. 数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇
  2. CozyRSS开发记录20-CanResizeWithGrip
  3. (四)值栈与OGNL
  4. html5的本地存储localStorage和sessionStorage
  5. Windows SVN变更发送邮件通知(JAVA实现)
  6. html5 canvas 运行起来绝对让你震撼!
  7. 2.如何搭建MQTT环境
  8. ASP.NET Core MVC I/O编程模型
  9. 从零开始学习前端开发 — 11、CSS3选择器
  10. python dataframe数据条件筛选
  11. web前端效率提升-nginx+nodejs搭建本地生态
  12. ASP.NET Core学习系列
  13. R语言︱LDA主题模型——最优主题...
  14. 记录新项目中遇到的技术及自己忘记的技术点【DES加密解密,MD5加密,字符串压缩、解压,字符串截取等操作】
  15. java(8)二重循环
  16. vue刷新当前路由
  17. Mac使用
  18. layui 弹窗的iframe 父子界面相互传值
  19. 如何配置JVM系统属性及获取方式System.getProperty("pname")
  20. 剑指Offer 58. 对称的二叉树 (二叉树)

热门文章

  1. 原生微信小程序的一些注意点
  2. react 高效高质量搭建后台系统 系列 —— 结尾
  3. SnakeYaml的不出网反序列化利用分析
  4. pytorch 衣服等
  5. Python中文官方文档
  6. 微信小程序与微信公众号之间支付问题解决方案
  7. 运行Java时报错:Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
  8. c# 在自定义类中控制form窗体中的控件 赋值或修改属性
  9. 【Direct3D 12】学习准备
  10. x-sheet 开发系列教程:初始化配置