zoukankan      html  css  js  c++  java
  • JAVA深入解析-36个话题-Two

    此文转载自:https://my.oschina.net/u/3429810/blog/4767828

    ## Chapter-2

    ##  i+++j=???

    - 运算结合性

    - 编译器的贪心规则

    - 贪心的好处

    1.三个加号相连是按照i++(+j)还是i+(++j)呢?这在C/C++中去杠是没有意义的,因为C/C++是基于现实的硬件结构的,不同的硬件环境有不同的结果。但在java却是有固定答案的,是先i++,然后+j。

    2.编译器在分析字符时,会尽可能多滴结合有效字符。并且非常“贪得无厌”,不管这种结合方式是否合乎语法规则。

    3.贪心规则是有用的,因为这样可以对转义字符等进行特殊处理。

    ## ++i与i++不仅仅是先加和后加的区别

    - 对前置++和后置++的消费级理解

    - 对前置++和后置++的企业级理解

    - 利用伪指令去分析其中的差异

    1.前置++与后置++都是先将变量的值加1,而不是前置++先加1然后运算,而后置++先运算后加1.

    2.从进程上说,后置++现将变量赋值给一个临时变量,然后将变量的值加1,接下来使用哪个临时变量参与运算。

    3.从指令上说,后置++在执行增值指令(iinc)前,现将变量的值压入栈,执行增值指令后,使用的是之前压入栈的值。

    ##  相除与求余

    - 整型相除与求余运算

    - 浮点类型相除与求余

    - 浮点相除与求余运算的特殊情况

    - 浮点值+0 与 -0的差别

    1.浮点的相除与求余不同于整型的相除与求余运算,当除数为0时,浮点运算不会产生ArithmeticException异常。

    2.浮点相除与求余运算各种情况下的结果。

        - 浮点相除

    1.  俩个操作数(被除数和除数)只要有一个为NaN,结果就是NaN。                
    2. 当俩个操作数都为Infinity或者都为0时(不论符号正负),结果为NaN。
    3. 当结果(商)不是NaN是,商的符号与被除数和除数的符号有关,当二者符号相同时,符号为正;当二者符号不同时,符号为负。
    4. 有穷数除以Infinity,商为0(商的符号根据第3点)
    5. Infinity除以有穷数,商为Infinity(商的符号根据第3点)
    6. 有穷数或Infinity除以0,商为Infinity(商的符号根据第3点)
    7. 0除以有穷数或Infinity,商为0(商的符号根据第3点)

    3.熟知浮点类型值+0与-0的区别

       

    更多内容详见微信公众号:Python测试和开发

    Python测试和开发

  • 相关阅读:
    第八次作业
    设计一款给爸爸妈妈用的手机
    第五次作业
    第四次作业(项目分析)
    第二次作业(个人项目实践)
    即时通讯软件的发展演变
    C++用法的学习心得
    JavaScript(变量、作用域和内存问题)
    一、Java和JavaScript
    使用Hyper-V创建虚拟机
  • 原文地址:https://www.cnblogs.com/phyger/p/14068516.html
Copyright © 2011-2022 走看看