10.23

作者: 迷人的酋长 | 来源:发表于2017-10-24 21:30 被阅读0次
    1. a = a + b 与 a += b 的区别
      += 隐式的将加操作的结果类型强制转换为持有结果的类型。如果两这个整型相加,如 byte、short 或者 int,首先会将它们提升到 int 类型,然后在执行加法操作。
      byte a = 127;byte b = 127;
      b = a + b;
      // error : cannot convert from int to byte
      b += a; // ok
      (因为 a+b 操作会将 a、b 提升为 int 类型,所以将 int 类型赋值给 byte 就会编译出错)
    Paste_Image.png Paste_Image.png
    1. 我能在不进行强制转换的情况下将一个 double 值赋值给 long 类型的变量吗?
      不行,不能在没有强制类型转换的前提下将一个 double 值赋值给 long 类型的变量,因为 double 类型的范围比 long 类型更广,所以必须要进行强制转换。
      long:
      long 数据类型是 64 位、有符号的以二进制补码表示的整数;
      最小值是 -9,223,372,036,854,775,808(-2^63);
      最大值是 9,223,372,036,854,775,807(2^63 -1);
      这种类型主要使用在需要比较大整数的系统上;
      默认值是 0L;
      例子: long a = 100000L,Long b = -200000L。
      "L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
      double:
      double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
      浮点数的默认类型为double类型;
      double类型同样不能表示精确的值,如货币;
      最小值:Double.MIN_VALUE=4.9E-324
      最大值:Double.MAX_VALUE=1.7976931348623157E308
      默认值是 0.0d;
      例子:double d1 = 123.4。
    Paste_Image.png Paste_Image.png

    相关文章

      网友评论

          本文标题:10.23

          本文链接:https://www.haomeiwen.com/subject/hioxpxtx.html