卧薪尝胆之JAVA重学(运算符)

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++ 是先赋值在进行加法运算
    如下图代码 所示:

        

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.  逻辑 &运算

图2短路&&运算

             

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

5)位运算符     

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

运算符说明
~取反
&按位与
|按位或
^按位异或
<<左移运算符  移一位相当于 *2
>>右移运算符   移一位相当于 /2取商
如下代码所示:

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

          当操作数都是  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 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值