Java基础 之 运算符

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34083066/article/details/86683879

运算符分类

算术运算符

        +:加法

        - :减法

        * :乘法

        / :除法

       %:余数

       ++: 自加。这个如果放在左边,先自加1再运算;放右边先运算再自加1。

        -- :自减。同上。

     

赋值运算符

比较简单就不多说了,赋个贴图看一下就好了。

        

位运算符

        &:位与。二进制运算时当两位同时为1时返回1;否则返回0。

         | :位或。当两位有一位为1时返回1。都不为1时返回0。

        ~ :位非。按位全部取反。

        ^: 位异或。当两位相同时返回0;不通时返回1。

        <<:左移

        >>:右移

        >>>:无符号右移,左侧补0.

举几个例子,以int类型为例8byte32位:

a = 49:0000 0000 0000 0000 0000 0000 0011 0001

b = 15:0000 0000 0000 0000 0000 0000 0000 1111

c=5:0000 0000 0000 0000 0000 0000 0000 0101

d=-5:1111 1111 1111 1111 1111 1111 1111 1011

d>>>2 = 1073741822 : 0011 1111 1111 1111 1111 1111 1111 1110

a>>2:0000 0000 0000 0000 0000 0000 0000 1100

a<<2:0000 0000 0000 0000 0000 0000 1100 0100

a^b:0000 0000 0000 0000 0000 0000 0011 1110

~a:1111 1111 1111 1111 1111 1111 1100 1110

a|b=15: 0000 0000 0000 0000 0000 0000 0000 1111

a&b=1:0000 0000 0000 0000 0000 0000 0000 0001

这个地方比较混乱,如果有错误,还请指正。

比较运算符

 >;>=;<=;<;==;!=   返回类型为boolean。一边用于条件判断。

逻辑运算符

        &&:逻辑与。前后必须都返回true,才能返回true。否则返回false。

        &:逻辑不短路与。

        ||:逻辑或。前后只要有一个返回true,就可以返回true。否则返回false。

        |:逻辑不短路或。

       !:逻辑非。true->false; false->true。

        ^:异或。两个操作数不同时返回true。相同时返回false。

三目运算符

举个例子:

x==null?"0":x.toString();

单目运算符

        包括++,--,~,!

运算符的优先级

今天其实本来没想写这个,但是今天看了一遍hashcode,直接看到Map源码。map中应用了一些位运算符。所以还是要搞懂基础的内容才方便看下去。所以今天先把这块内容写一下。方便后面理解。

猜你喜欢

转载自blog.csdn.net/qq_34083066/article/details/86683879
今日推荐