运算符|和||以及&和&&的区别

逻辑运算符: &, |, ^, !
  • &(与): 只要有一边为fale, 那么就是false
  • |(或): 只要有一边为true, 那么就是true
  • ^(异或): 只要是相同的boolean值, 那么就是false, 不相同才是true
逻辑运算符(双与, 双或): && ||
  • 解释: 双与和双或 得到的结果 和 单与和单或 是完全一样的
|和||以及&和&&两者的区别

&& 和 & :

&& 一旦判断到左边是false之后, 右边就不参与运算了

&: 不管左边是true还是false, 右边都参与运算

|| 和 |:

|| 一旦判断左边是true之后, 右边就不参与运算了

| 不管左边是true还是false, 右边都参与运算

代码分析:

public class Demo{     private static int j = 0; private static boolean methodB(int k){j += k; return true; }public static void methodA(int  i){ boolean b;   b = i < 10 | methodB (4); b = i < 10 || methodB (8); }public static void main (String args[] ){methodA (0); System.out.println(j);}
}

运行结果为4,为什么不为4和8呢,因为逻辑或只要左边的结果为true,右边就不参与运算了,所以没有调用到methodB (8)的方法。

总结

面试的时候这个点要小心,但是如果做开发的时候,还是用&&和||运算符比较好,这样可以提高代码的效率,当然前提是程序猿需要细心。

逻辑运算符、、||和|的区别相关推荐

  1. 3rd 逻辑运算符的基本用法

    03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一 ...

  2. 逻辑运算符,if、swtch语句(java基础知识三)

    1.逻辑运算符的基本用法 * A:逻辑运算符有哪些 &(逻辑与) |(逻辑或) !(逻辑非) ^(逻辑异或) &&(短路与) ||(短路或) * 注意事项: * a:逻辑运算符 ...

  3. 关系运算符与逻辑运算符

    关系运算符与逻辑运算符 关系运算符,通俗的讲就是比较,俗话说没有比较就没有伤害.现实中每天我们都在进行比较,购物的时候,选对象的时候等等,JAVA中提供了六种比较方式. 1.== :常用来比较值是否相 ...

  4. 第三次学JAVA再学不好就吃翔(part8)--基础语法之运算符

    学习笔记,仅供参考 文章目录 JAVA基础语法 运算符 逻辑运算符 逻辑运算符&&和&的区别 逻辑运算符||与|的区别 位运算符 &, |, ^, ~ 的用法 位异或运 ...

  5. 第一行Java代码,java高级面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  6. JavaEE基础(三)

    1.Java语言基础(逻辑运算符的基本用法) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一般用于连接boo ...

  7. Java的scjp,Java(一些基础) for SCJP

    整数型 整数型是一类代表整数值的类型.当需要代表一个整数的值时,可以根据需要从4种类型中挑选合适的,如果没有特殊要求的话,一般选择int类型.4种整数型区别主要在每个数据在内存中占用的空间大小和代表的 ...

  8. c语言从键盘输入一个百分制成绩score,C语言 基础练习40题

    一.题目 1.输入2个整数,求两数的平方和并输出. 2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息. 3.函数y=f(x)可表示为: 4.编写一个程序,从4 ...

  9. Python语言基础快速入门

    一.python简介: 1. Python 2.x 与 3​​.x 版本简介 : Python 2.x 默认不支持中文 Python 2.x 的解释器名称是 python Python 3.x 的解释 ...

  10. JavaSE基础知识(附上代码实现)1

    ###01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应用举例     * 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动. ...

最新文章

  1. 从零开始学习docker(二)网络
  2. ansible结合playbook批量部署war包项目上线
  3. 【百度地图API】如何调整结果面板的样式?如何获取指定页码的结果?
  4. java hive查询_java程序调用hive查询的一个异常
  5. .sh文件是什么语言_FastDFS分布式文件系统的搭建安装
  6. java不等长二维数组_Java中关于二维数组的理解与使用
  7. LayaAir 屏幕适配-横屏与竖屏
  8. 学习笔记之TCP/IP协议分层与OSI參考模型
  9. (附源码)ssm教培管理系统 毕业设计 230932
  10. ajax中php写法,jQuery中AJAX写法
  11. P1867 【Mc生存】经验值 java题解
  12. Java HashMap面试须知
  13. HashMap引发死链问题(HashMap、ConcurrentHashMap原理解析)
  14. 大数据--Hbase
  15. Selenium QQ自动化登录
  16. 高仿百思不得姐(败家姐模块)---cuzySdk IOS demo 已经发布
  17. otb100matlab,OTB(visual tracker benchmark) 的基础环境配置
  18. 导入java项目时,出现红色感叹号的解决办法
  19. ctf解密摩斯电码遇到的一些小问题。
  20. J-Link使用汇总(STM32F103)

热门文章

  1. sqlserver编写通用脚本实现获取一年前日期的方法
  2. 软件设计师——大题2——数据库设计
  3. 房价vs年薪:小袁同学今年刚毕业,成为了一名光荣的程序员。他找了一份工作,年薪是X万元,并且公司保证每年给他固定加薪8%。 小袁同学很开心,他看上了一套房子,售价是M万元,于是下决心攒钱买下。
  4. 使用python抓取简书的关键字专题下所有文章
  5. git安装配置和TortoiseGit(小乌龟)的安装配置和idea配置git
  6. android studio template模块开发
  7. Ubuntu 16.04无线wifi频繁掉线(Intel无线网卡驱动iwlwifi)
  8. Git学习之Merge命令,HEAD应用的理解
  9. 【踩坑】一行指令解决docker Error response from daemon: cannot stop container
  10. 41个外贸英语表达技巧!