深入理解算数运算符

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解算数运算符相关的知识,希望对你有一定的参考价值。

1 问题

算数运算符是我们编写程序最基本需要掌握的技术,本文通过实践,总结出了一些特殊点以及查找了一些经典面试题来展示。

2 方法

  1. 特殊点
    特殊点1:

    两个byte类型做运算,会向上转型成int类型再做运算

    特殊点2:

    两个short类型做运算,会向上转型成int类型再做运算
    特殊点3:

    除了byte和short类型做运算时会向上转型成int外,其余的数值型都会按照取值范围大的类型先转型再做运算

    特殊点4:

    浮点类型做运算符底层会对阶,可能导致失去精度(总结:

    对于敏感信息(金额)不要使用浮点类型直接做运算)

    特殊点5:

    char类型可以做运算,先获取字符的ASCII,再做运算

    特殊点6:

    ++num1; 和 num2++; 没有区别,因为;表示执行语句的结束,不管先加还是后加都会加

    特殊点7:

    ++num的底层原理*

  2. 经典面试题

经典面试题一:输出结果为?

经典面试题二:输出结果为?

经典面试题三:输出结果为?

经典面试题四:byte b = 130;有没有问题?如果我想让赋值正确,可以怎么做?结果是多少呢?

3 结语

本文针对我们日常最常使用的算数运算符进行了深入研究,了解了算数运算符更底层的逻辑。

以上是关于深入理解算数运算符的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Java虚拟机——运算指令

深入理解Java虚拟机——运算指令

《C#零基础入门之百识百例》 算数运算符 -- 圆的面积

Java 位运算符 深入理解

JavaScript 算数运算符

Python————运算符的理解