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。

  • 相关阅读:
    js 控制页面跳转的5种方法
    弹性盒
    js中变量声明有var和没有var的区别
    解决Cannot read property 'style' of null中样式问题
    JS中用for循环解决重复定义的问题
    博客第一天
    jQuery 无缝轮播
    随鼠标移动
    倒计时
    轮播图
  • 原文地址:https://www.cnblogs.com/EzraOholiabXue/p/Day03_SHJavaTraining_4-5-2017_01.html
Copyright © 2011-2022 走看看