java笔记 -- java运算

运算符:

  • 算术运算符: 加减乘除求余 + , - , * , / , %

当参与/运算的两个操作数都是整数时, 表示整数除法, 否则表示浮点除法.
例: 15 / 2 = 7; 15 % 2 = 1; 15.0 / 2 = 7.5
整数被0除会产生一个异常, 浮点数被0除将会得到无穷大或NaN结果.

  • 二元运算符:+=, *=,  %=

x += 4 等价于 x = x + 4 (通常将运算符放在赋值号的左侧, 如*=, %=)

  • 自增运算符和自减运算符:

int n = 12;
n++; 后缀方式先运算在加1
++n; 前缀方式先进行加1再运算

  • 关系运算符与boolean运算符

== , != , > , < , >= , <= , && , || , ! , ?:
&&与||是按照短路的方式

  • 位运算符(暂时看不懂!!):

& , | , ^ , ~ , >> , <<
&与|不按照短路的方式, 必须计算两个操作数的值.
^: 异或
~: 非
>> , <<: 移位运算符

运算符优先级:

    运算符                         结合性
  [].() (方法调用)                     从左向右
  ! ~ +(正) -(负) ~ ++ -- ()(强制类型转换) new          从右向左
  * / %                          从左向右
  +(加) -(减)                       从左向右
  << >> >>>                       从左向右
  < <= > >= instanceof                    从左向右
  == !=                          从左向右
  &(按位与)                        从左向右
  ^                            从左向右
  |                             从左向右
  &&                            从左向右
  ||                            从左向右
  ?:                           从右向左
  = += -= *= /= %= &= |= ^= <<= >>= >>>=            从右向左

    && 优先级高于||:
      a && b || c 等价于 (a && b) || c
    += 是右结合运算符所以:
      a += b += c 等价于 a += (b += c) // 将c加到b上之后, 再将b加到a上


taps:
  1. 优先级是从高到低书写的
  2. 结合性是元素安抚结合的顺序, 通常从左到右. 从右向左指符合与运算符右侧的内容结合.
  3. instanceof是判断对象是否为某个类或接口类型
  4. 对于不太清除的优先级, 可以使用小括号去书写, 也便于阅读.

原文地址:https://www.cnblogs.com/qiezuimh/p/9712326.html