&& 逻辑与

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

int a=5;
int b=10;
if(a>6&&b++>10) {
System.out.println("全部都为真");
}
System.out.println("a="+a+";b="+b);

  

运行结果:

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)、不短路与,作用和&&相同,但不会短路

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

  

运行结果:

a=5;b=11  

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

|| 逻辑或

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

int a=5;
int b=10;
if(a>4||b++>10) {
System.out.println("a="+a+";b="+b);
}

 

运行结果:

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)、不短路或,作用和||相同,但是不会短路

int a=5;
int b=10;
//这里将||替换成|
if(a>4|b++>10) {
System.out.println("a="+a+";b="+b);
}

  

运行结果:

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

最新文章

  1. C#学习笔记-图像处理篇(一)绘制公章
  2. tinkphp登录验证码的使用
  3. js DIV延时几秒后消失或显示代码
  4. 浅析 mondrian 模式文件 Schema
  5. CNN 美国有线电视新闻网 wapCNN WAP 指无线应用通讯协议 ---- 美国有线电视新闻网 的无线应用
  6. github for windows 桌面版使用方法
  7. Old Calculator
  8. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程02:关键帧动画导入与切割》
  9. thinkphp 自定义标签
  10. @property的特性
  11. PROTEL99生成GERBER的操作说明
  12. Gap year | 最好金龟换酒
  13. 工厂方法模式(Java与Kotlin版)
  14. 编写自己的composer项目
  15. Treap树 笔记
  16. windows下Graphviz安装及入门教程
  17. node常见操作命令
  18. c++中static的用法详解
  19. mark mem
  20. Haskell语言学习笔记(67)Gtk2Hs

热门文章

  1. shell http请求&amp;处理返回值获取其中某个字段的值
  2. tf.nn.conv2d 卷积
  3. 一个java 码手 的老牛 --- 涉及 一些不错的java 基础课程
  4. 21-Java-Hibernate框架(一)
  5. Salesforce考试 | 如何维护我的Salesforce认证
  6. 用python爬取之后发现果然如此,都说知乎的小姐姐漂亮
  7. string 中的getline
  8. 2. Git-命令行-删除本地和远程分支
  9. PHP xml 外部实体注入漏洞学习
  10. java中的模运算规则