java运算符

来源:互联网 发布:黄金 知乎 编辑:程序博客网 时间:2024/03/29 21:19
一、算术运算符:
  单目:+(取正)-(取负) ++(自增1) - -(自减1)
  双目:+ - * / %(取余)
  三目:a>b?true:false 说明:当a大于b的时候,为true(也就是冒号之前的值),否则为false;这整个运算符包括一个关系运算符(可以是“>”"<""!="等等),一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。
  二、关系运算:
  等于符号:==,不等于符号: != ,大于符号:>, 小于符号:<,大于等于符号: >= ,小于等于符号: <= 。
  三、位运算符 逻辑运算符:
  位运算符 与(&)、非(~)、或(|)、异或(^)
  &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000
  | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110
  ~:0变1,1变0
  ^:两边的位不同时,结果为1,否则为0.如1100^1010=0110
  逻辑运算符
  与(&&)、非(!)、或(||)
  四、赋值运算符
  = += -= *= /= %= &= ^= |= <<= >>=
  五、instanceof运算符
  该运算符是双目运算符,左面的操作元是一个对象,右面是一个类。当左面的对象是右面的类创建的对象时,该运算符运算结果是true,否则是false。
  六、 运算符综述
  Java 的表达式就是用运算符连接起来的符合Java 规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.例如,x<y&&!z相当于(x<y)&&(!z),没有必要去记忆运算符号的优先级别,在编写程序时可尽量的使用括号来实现你想要的运算次序,以免产生难以阅读或含糊不清的计算顺序.运算符的结合性决定了并列相同级别的运算符的先后顺序,例如,加减的结合性是从左到右,8-5+3 相当于(8-5)+3.逻辑否运算符 的结合性是右到左, x 相当于!(!x).表3.4是Java所有运算符的优先级和结合性。
  七 位移运算符
  << 带符号左移 >>带符号右移 >>> 无号右移
  例子: int a1 = 8; // 0000 0000 0000 1000
  System.out.println(a1>>>2); //// 0000 0000 0000 0010
  输出为 2
  运算符优先级
  按优先级从高到低排列如下:[ ] ( ) ++ -- ! ~ instanceof * / % + - << >> >>> <> < = > \ == != &^& & || ? := op= 。