小言_互联网的博客

Java中运算符的用法

464人阅读  评论(0)

逻辑运算符:

1."&" and “&&”

"&":逻辑与;
"&&":短路与;
区别:都表示“与”的逻辑关系,主要代码如下:

int a=10;
int b=15;
if(++a=10 & b++=15){
	System.out.println("true");
}
System.out.println("a="+a);
System.out.println("b="+b);

上述代码执行结果是:a=11,b=16;
即&左右两端的表达式都执行。

  • 下面再看一段代码:

```java
int a=10;
int b=15;
if(++a=10 && b++=15){
	System.out.println("true");
}
System.out.println("a="+a);
System.out.println("b="+b);

上述代码执行结果:a=10;b=15;
即"&&“执行效率更高,判断”&&"左端为false,即可跳出;

2. “|” and “||”

"|":逻辑或;
"||" :短路或;

3."!"and “^”

"!":逻辑非,偶数个不改变本身;
"^" :异或,经典面试题中可借助异或运算互换两个整数变量的值,并且不需要第三个变 量,代码如下:

int x=1;
int y=5;
x=x^y;
y=x^y;  //y=1;
x=x^y;  //x=5;

即一个数被异或两次,其值不变;

位运算符

1."<<" ,">>" and “>>>”

"<<" : 右移,被移位的二进制最高位是0,右移后,空位补0;
最高位是1,高位补1;
">>" :左移,空位补零,最高位丢弃;
">>>":无符号右移,空缺位都用0补;

<<:<<左边的数据乘以2的移动次幂;
>>:>>左边的数据除以2的移动次幂;

举例:

  1. 80>>4 即为80/(2^4);
  2. 80<<4即为80*(2^4);

2.其它运算符

"&":(与),
"|":(或),
"^":(异或) ,
"~":(按位取反) ,
用法如下:

运算符 用法
& 有0则0
I 有1则1
^ 相同则0,不同则1
~ 按位取反

三元运算符

表达式:(关系表达式) ? 表达式1 : 表达式2;
用法:关系表达式布尔值为true时,执行表达式1;否则执行表达式2。


转载:https://blog.csdn.net/weixin_40487115/article/details/101703842
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场