前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java运算符那些事

java运算符那些事

作者头像
说故事的五公子
发布2019-09-11 17:21:41
3110
发布2019-09-11 17:21:41
举报

&& 逻辑与

&&先运算&&左边的算式,如果为假,则直接停止,后面不管有多少运算式都不再运算,如果为真则继续判断后面的式子,只有所有的条件全部成立,才会执行下面的程序

代码语言:javascript
复制
int a=5;
int b=10;
if(a>6&&b++>10) {
    System.out.println("全部都为真");
}
System.out.println("a="+a+";b="+b);

运行结果:

代码语言:javascript
复制
a=5;b=10  

这里的b=10,因为a>6不成立,所以后面的语句b++>10不再进行判断

& 按位与

(1)、&的运算规则为是先将两边的数转化为二进制,然后运算最终值,运算规则全都为真则结果为真,否则结果为假,1&1=1 , 1&0=0 , 0&1=0 , 0&0=0

3&5的结果为1

(2)、不短路与,作用和&&相同,但不会短路

代码语言:javascript
复制
int a=5;
int b=10;
//这里将&&替换成&
if(a>6&b++>10) {
    System.out.println("全部都为真");
}
System.out.println("a="+a+";b="+b);

运行结果:

代码语言:javascript
复制
a=5;b=11  

这里的b=11,因为a>6虽然不为真,但是后面的b++10任然会进行判断,所以b=11

|| 逻辑或

逻辑或运算规则是一个为真则为真,后续不需要再计算,一个为假再计算右边的表达式

代码语言:javascript
复制
int a=5;
int b=10;
if(a>4||b++>10) {
    System.out.println("a="+a+";b="+b);
}

运行结果:

代码语言:javascript
复制
a=5;b=10

这里的b=10,因为a>4已经为真,而逻辑或只要有一个为真则为真,所以不需要再进行后面的语句判断,直接执行下一步

| 按位或

(1)、|按位或和&按位与计算方式都是转化为二进制再计算,不同的是运算规则(一个为真则为真),1|0=1, 1|1=1, 0|1=1, 0|0=0

6|2:6的二进制位0000 0110 , 2的二进制位0000 0010 , 110|010为110,最终值0000 0110,故6|2等于6

(2)、不短路或,作用和||相同,但是不会短路

代码语言:javascript
复制
int a=5;
int b=10;
//这里将||替换成|
if(a>4|b++>10) {
    System.out.println("a="+a+";b="+b);
}

运行结果:

代码语言:javascript
复制
a=5;b=11  

这里的b=11,因为虽然a>4为真,整个表达式已经为真,但是仍然会进行后面b++>10的判断,所以最终输出结果为b=11

^ 异或

异顾名思义就是不同,^运算规则是相同为0,不同为1,1^0 = 1 , 1^1 = 0 , 0^1 = 1 , 0^0 = 0

5^9:5的二进制位是0000 0101 , 9的二进制位是0000 1001,也就是0101 ^ 1001,结果为1100 , 00001100的十进制位是12

<< 左移运算符

5<<2:5<<2的意思是5的二进制左移2位,右边补0,5的二进制数是0000 0101,左移两位后是0001 0100,正数左边第一位补0,负数左边第一位补1

>> 右移运算符

5>>2:5>>2的意思是5的二进制右移2位,左边补0,5的二进制数是0000 0101,左移两位后是0000 0001,正数左边第一位补0,负数左边第一位补1

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • && 逻辑与
  • & 按位与
  • || 逻辑或
  • | 按位或
  • ^ 异或
  • << 左移运算符
  • >> 右移运算符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档