java符号%_Java运算符

运算符

自增和自减运算符

++ :操作数值型变量,++ 放操作数左边,操作数自身加 1,返回加 1 后的结果;++ 放操作数右边,操作数自身加 1, 返回加 1 前的结果;

-- :操作数值型变量,-- 放操作数左边,操作数自身减 1,返回减 1 后的结果;-- 放操作数右边,操作数自身减 1, 返回减 1 前的结果;

int c = 5;

int d = ++c;

System.out.println(a); //6

System.out.println(d); //6

int a = 5;

int b = a++;

System.out.println(a); //6

System.out.println(b); //5

位运算符

& :按位与

| :按位或

~ :按位非(键盘数字 1 左边键)

^ :按位异或

<< :左移运算符

>>:右移运算符

>>>:无符号右移运算符

需要记住一点,位运算操作的是数值在计算机存储的二进制码(补码)

System.out.println(5 & 9); //1

System.out.println(5 | 9); //13

System.out.println(~-5); //4

System.out.println(5^9); //12

b9364d84acbdaad1240773e83baa680f.png

cadc0fe6ea15d59012ce6d7bff4a29b3.png

左移运算符是将操作数的二进制码整体左移指定位数,左移后右边空出来的位以 0 填充,左移 n 位,相当于乘以 2 的 n 次方。

System.out.println(5 << 2); //20

System.out.println(-5 << 2); //-20

c8c06278ab9432cc00acb102dcdf4dea.png

右移运算符有两个:>>> 和 >> :

对于 >> 运算符而言,将操作数的二进制码右移指定位数后,左边空出来的位以原来的符号位填充,即如果操作数原来是正数,则左边补 0;如果操作数是负数,则左边补 1。因此,右移 n 位,相当于除以 2 的 n 次方。

` 是无符号右移运算符,将操作数的二进制码右移指定位数后,左边空出来的位全补 0 。

System.out.println(-5 >> 2); //-2

System.out.println(-5 >>> 2); //1073741822

ed34af998ea3df8ebf2a9fa4e4252c10.png

f058ace1ee60089760d8e48c05d90b32.png

进行移位运算的规则:

对于 byte、short 或 char 类型的操作数会先自动类型转换为 int 类型后再移位;

对于 int 类型的整数移位 a >> b,当 b > 32时,系统先用 b 对 32 求余(因为 int 类型只有 32 位),得到的结果才是真正移位的位数;

对于 long 类型的整数移位 a >> b,当 b > 64时,先用 b 对 64 求余,得到的结果才是真正移位的位数。

instanceof

instanceof 是一个二元运算符,a instanceof B 判断 a 是否为 B 的实例,B 是类或者接口、父类或者父接口,即要求 B c = a 成立,最终返回 boolean 类型值。

public static void main(String[] args) {

Double obj = 1.0;

//obj是Double的实现类

System.out.println(obj instanceof Double); //true

//obj是Object的子类的实现类

System.out.println(obj instanceof Object); //true

}

运算符优先级

运算符说明

Java 运算符

分隔符

. [] () {} , ;

单目运算符

++ -- ~ !

强制类型转换运算符

(type)

乘法/除法/求余

* / %

加法/减法

+ -

移位运算符

<< >> >>>

关系运算符

< <= >= > instanceof

等价运算符

== !=

按位与

&

按位异或

^

按位或

|

条件与

&&

条件或

||

三目运算符

? :

赋值

= += -= *= /= &= |= ^= %= <<= >>= >>>=

记住 && 和 || 优先级顺序技巧:将 && 看成一般算式的乘法,一般算式中乘法优先级最高,所以 && 优先级比 || 高。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值