zoukankan      html  css  js  c++  java
  • Java自动类型转换

    ■ 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
    ■ 特例:可以讲整型常量直接赋给byte,short,char等类型变量,而不需要强制类型转换,只要不超出其表数范围。
    ■ 强制类型转换(cast):又称为造型,用于显示的转换一个数值的类型,在有可能丢失信息的情况下进行的转换时通过造型来完成的,但可能造成精度降低或溢出。
    ■ 强制类型转换的语法格式:“(type) var”,运算符“()”中的type表示将值var想要转换成的目标数据类型。
    ■ 当将一种类型强制转换成另一种类型,而又超出了目标类型的表示范围,就会被截断成为一个完全不同的值。(例:int x = 300; byte y = (byte)x; //值为44)
    ■ 不能在布尔类型和任何数值类型之间做强制类型转换。(若需要将布尔类型转换为数字可以用三目运算符)
    ■ 基本类型转换常见错误和问题:
      ①操作比较大的数时,要留意是否溢出,尤其是整数操作时。
      

        int a = 100000000; // 1亿
        int b = 22;
        int c = a*b; // 返回的是负数
        long c = a*b; // 返回的仍是负数(默认是int,因此结果会转成int值,再转成long。但是已经发生了数据丢失)
        long d = a*((long)*b); // 先将一个因子变成long,整个表达式发生提升,全部用long来计算。

      ②L和l的问题:
        不要命名名字为l的变量;
        long类型使用大写L不要用小写。

  • 相关阅读:
    anaconda3 notebook for python数据分析-环境搭建
    MySQL之day4
    MySQL之day3
    MySQL之day2
    综合大实验(按需求完成)
    策略路由实验ACL配置
    双点双向重分布实验
    OSPF实验isis协议的设置命令
    OSPFS实验流量优化
    OSPF实验大串连
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/6517840.html
Copyright © 2011-2022 走看看