• 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不要用小写。

  • 相关阅读:
    js指定区域全屏
    sql中对日期的筛选
    SQL Server查询死锁,杀死进程解决死锁
    SqlServer数据类型、C#SqlDbType对应关系及转换
    用SqlDataReader返回多个结果集
    SQL重复记录查询的几种方法
    IIS支持10万个同时请求的设置
    常量与变量的命名法则
    远程服务器返回错误: (405) 不允许的方法。
    The view 'Index' or its master was not found or no view engine supports the
  • 原文地址:https://www.cnblogs.com/lxcmyf/p/6517840.html
Copyright © 2020-2023  润新知