JAVA 部分 特殊运算符

1、位运算符(二进制的位)
(1)&(按位与运算,双目运算符)
e.g. 00101101
11011101
按位与运算结果 00001101
(2) |(按位或运算)
e.g. 00101101
11011101
按位或运算结果 11111101
(3)~(按位取反)
e.g. 00101101
按位取反结果 11010010
(4) ^(按位异或运算,对应位不同则取1、反之则取0)
e.g. 00101101
11011101
按位异或运算结果 11110000
(5) <<(左移运算)
e.g. 45<<2;
00101101
按位左移运算结果 10110100
注意:以八位储存为例,即将此数二进制位向左移两位,低位由0补位
(6) >>
右移同理于左移
2、逻辑运算符
(1)&&
两边都为boolean类型的表达式,同真为真,否则为假
(2) ||
两边都为boolean类型的表达式,有真为真,两假为假
(3) !
!true 为假,!false为真
注意:
(1)短路问题:
针对||:
5>4||3>4; 此返回值为true,当电脑运行到5>4判断为true,再判断到逻辑运算符为||时直接判总表达式返回值为true,不再往下运行代码,此种问题为短路问题
针对&&:
3>4&&5>4;不会执行5>4,直接判为false

(2)解决短路问题的方法:
逻辑运算符会存在短路问题,然而用位运算符代替对应的逻辑运算符则不会出现短路问题
&&-----&
||-----|
(3)针对&,|到底是位运算符还是逻辑运算符
当&,|两边都为逻辑判别式时,则为逻辑运算符,当两边都为数值时为位运算符
3、关系运算符
> < >= <= ==(注意区别于赋值符号=) !=
所有的关系运算符的返回值都为boolean类型
4、赋值运算符
= += -= *= /=
5、条件运算符(三目运算符)
bool?a:b; bool 为true 表达式的值为a;反之则为b
典型例子:求三个数中的最大数
max = a>b?(a>c?a:c):(c>b?c:b);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值