Java基础 之 运算符

运算符分类

算术运算符

        +:加法

        - :减法

        * :乘法

        / :除法

       %:余数

       ++: 自加。这个如果放在左边,先自加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中应用了一些位运算符。所以还是要搞懂基础的内容才方便看下去。所以今天先把这块内容写一下。方便后面理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值