JAVA 运算符分类

算数运算符

(+,-,*,/,%)二元运算符(++,--)一元运算符

赋值运算符

=

扩展运算符

+=,-=,*=,/=,

关系运算符

>,<,==,>=,<=,!= ,instenceof

逻辑运算符

&&,||,!

位运算符

&,|,^,~,>>,<<,>>>

条件运算符

? :

字符串连接符

+

1)算术运算符

+,-,*,/,%属于二元运算符(二元运算符:需要两个操作数完成运行计算的计算符)
例如: a+b  ;

运算规则:
    整数运算

  1. 如果两个数中有一个是long类型的话那么 结果  也是long类型。
  2. 没有long时 结果为int (数据类型是 short  byte char 结果也是int型)。

    浮点型运算

  1. 如果有一个数是double 那么结果  double类型
  2. 所有的都是float 时  结果  时   float 类型

    取模运算

    运用  % 进行 计算   可以是浮点数,但是通常情况下使用的整数。    结果是余数。
    注意:取模运算  结果的符号 与左边的操作数符号相同

    例如:7%5=2    -7%5=-2   

 ++ ,--属于一元运算符。
例如 :   a++  
一元运算符注意事项:
 例如      ++a   ,a++;

 两者之前的区分:

  1.  ++a  是先进行加法运算然后在赋值   
  2.   a++ 是先赋值在进行加法运算

    如下图代码 所示:


java 浮点型被除数 java中浮点数取余运算_赋值


        


2)赋值运算符以及扩展运算符 

     目的都是用来对变量进行赋值。
     举个例子 :

       b+=2   →  b=b+2    b+2算出的值赋值给b 假设我 b=0 b+2 赋值给  b 那么现在b=2   其余的同理。

3)关系运算符

      用来进行比较运算 。运算结果是  false 或 true
      注意 := 和  ==是不同的 
       == 是比较运算符  是比较  两个变量存储位置首地址的。

       =    是 赋值运算符  如:b=2;

4)逻辑运算符

      用来操作boolean值

运算符

说明

&(与) 逻辑与

只要有一个操作数是false 结果就是false

|(或)逻辑或

只要有一个是操作数是true 结果就是 ture

&&(与)短路与

只要有一个操作数是false  结果就是false

||(或)短路或

只要有一个操作数是ture    结果就是ture

!(非)逻辑非

取反 如:!ture  结果是  false

^(异或)逻辑异或

操作数相同  结果 是 false  不同 结果是  true

短路问题:


         

    &&只要有一个 false  后面就不再进行判断  

              ||    只要有一个 true   后面就不再进行判断 

               & 和 | 所有的都不会进行判断 
         
  如下图代码:
图1.  逻辑 &运算

java 浮点型被除数 java中浮点数取余运算_运算符_02

图2短路&&运算

java 浮点型被除数 java中浮点数取余运算_java 浮点型被除数_03

             

优先级:  逻辑非 >逻辑与 > 逻辑或                     

5)位运算符     

数字在计算机是按照二进制来表示的,而位运算就是针对数字的二进制值进行操作

运算符

说明

~

取反

&

按位与

|

按位或

^

按位异或

<<

左移运算符  移一位相当于 *2

>>

右移运算符   移一位相当于 /2取商

如下代码所示:


java 浮点型被除数 java中浮点数取余运算_java 浮点型被除数_04

注意:当操作数都是 数字型时 ,& ,|,^ 是 位运算符  

          当操作数都是  boolean类型时 &,|,^是逻辑运算符 

5)字符串连接符

对字符串进行连接

如 :  “a”+“b” = “ab”

             3   +  "a"    =  "3b"
只要有一个 是字符串 那么   就是进行字符串连接操作。
             1+3=4
             1+"3"="13"

6)条件运算符(三目条件运算符)

用来做 判断赋值  
如   a>b ?  a=1 : a=2 ;
解释: 如果 a>b =true  那么 a=1   否则 a=2 

关于运算符 优先级  的话  建议用  ()来进行优先级运算。但是 逻辑的 优先级一定要记住