zoukankan      html  css  js  c++  java
  • 混合赋值运算符做算数运算时不改变自身数据类型

    Day03_SHJavaTraining_4-5-2017

    1.混合赋值运算符(+= -= *= /= %=)

    面试题:

    1 /**
    2     ①byte b = 100;
    3     ②b = b + 500;
    4     ③b += 500;
    5     ④System.out.println("b=" + b);
    6 第一种执行方式①②④,第二种执行方式①③④,这两种执行方式会不会报错?如果报错,写出原因,否则写出结果。
    7 */

    分析:
    第一种执行方式:
      一定会报错。因为b是byte类型空间,只占一个字节,而同它运算的500,默认是int类型,占4个字节,由于数据范围小的数据类型和数据范围大的数据类型之间做运算,结果为数据范围大的数据类型,所以报错。
    第二种执行方式:
        不会报错。因为混合赋值运算符做算数运算时, 如果得到的运算结果超出了其左边变量的数据类型的取值范围,计算机底层会自动将结果强制转换成混合赋值运算符左边变量的数据类型。结果为88。

  • 相关阅读:
    唐伯虎
    朱元璋
    [再寄小读者之数学篇](2014-06-28 证明级数几乎处处收敛)
    [家里蹲大学数学杂志]第053期Legendre变换
    About the Importance of Aim in Life
    An Apple a day keeps the doctor away
    Love Me,Love My Dog
    关于工作
    关于失败
    Erdos
  • 原文地址:https://www.cnblogs.com/EzraOholiabXue/p/Day03_SHJavaTraining_4-5-2017_01.html
Copyright © 2011-2022 走看看