&和&&区别分析

&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username != null &&!username.equals(""),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的equals比较,否则会产生NullPointerException异常。注意:逻辑或运算符(|)短路或运算符(||)的差别也是如此。

本题涉及java知识点分析

逻辑与运算符&

&,双目运算符:将两个表达式的值按二进制位展开,对应的位(bit)按值进行“与”运算,结果保留在该位上。
比如170&204
对应二进制就是
10101010B & 11001100B =10001000B…
170&204=136…
该位只要有一个值为0结果为0,否则结果为1。
如果两数位数不同,则较短数高位补零,再运算,比如char a=100;int b=260;

短路与运算符&&

&&:双目运算符,计算两个表达式同时成立的“真值”(同时成立真值为真否则为假)
逻辑真值有两种,1为真,0为假,但在运算时用非零表示真,0表示假。
即:数值->逻辑真值--非0为真,0为假/逻辑真值->数值--真为1,假为0。
例如:char a=1,b=0,c=-1;那么a真b假c真。a&&b和c&&b为假值为0,a&&c为真值为1

希望对大家有所帮助。

常见Java面试题之和的区别?相关推荐

  1. 「面试必备」常见Java面试题大综合 马云见了都点赞

    一.Java基础 1.Arrays.sort实现原理和Collections.sort实现原理 答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSor ...

  2. 常见Java面试题之静态变量和实例变量的区别

    静态变量和实例变量的区别有哪些? 静态变量和实例变量可能大多数同学用的比较多,但是相关阐述并不是很常见,尤其对新手同学可以不能清楚表达. 静态变量和实例变量也是最经常遇到的一个基础java面试题,不管 ...

  3. 小猿圈之常见java面试题总结,你学会了吗?

    今年的6月份又到了,又是一年一度的毕业季,但是你真的做好准备了吗?.应届毕业生很多,怎么让你自己在这群人中脱颖而出呢?那你就要做万分的准备,不打没准备的仗,下面小猿圈java讲师为你总结了常见的jav ...

  4. 2021年面试,整理全网初、中、高级常见Java面试题

    面试题答案私信[面试]即可获取,500+道面试题.内容中包含基础.集合.并发.JVM.Spring.Spring MVC.Spring Boot.Spring Cloud.Dubbo.MySQL.Re ...

  5. 2021年面试,整理全网初、中、高级常见Java面试题附答案

    此为部分面试题包含答案,更多面试题见微信小程序 "Java精选面试题",3000+道面试题.内容持续更新中包含基础.集合.并发.JVM.Spring.Spring MVC.Spri ...

  6. 2020最新常见Java面试题及答案汇总

    一.Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java ...

  7. 常见Java面试题 – 第三部分:重载(overloading)与重写(overriding)

    ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. 这篇文章介绍的常见面试题是关于重载(overloading)方法和重写( ...

  8. 常见Java面试题 – 第二部分:equals与==

    http://www.importnew.com/2223.html ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. Q ...

  9. 常见Java面试题 线程和进程的区别?

    简而言之,进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程. 进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高. 线程是进程的一 ...

最新文章

  1. CentOS 7.7 安装cmake3
  2. oracle 清理定期备份文件,RAC RMAN定期备份及删除脚本
  3. 联想计算机农村,农村的联想
  4. 以 B2C 和 B2B 方式启动 SAP Spartacus 的批处理文件
  5. Dev-DXperience12.2版的新产品介绍:DXTREME
  6. 接口测试之HTTP协议详解
  7. Pyomo 优化建模
  8. 网站服务器系统组成,linux系统由哪几部分组成_网站服务器运行维护,linux
  9. 完整的python项目实例-《Python爬虫开发与项目实战》pdf完整版
  10. python之路day4_【Python之路Day4】基础篇
  11. 答题卡html怎么实现,求一段js代码,实现网上答题,有很多道选择题,每选择一题,在跟随页面的答题卡上有相应的标记...
  12. C盘AppData文件占用83.7G?
  13. 新加坡最新的公共交通规划与管理经验借鉴
  14. 论文笔记:A novel DRM scheme for accommodating expectations of personal use
  15. 【Linux 4】定时任务调度与进程服务管理
  16. TortoiseSVN 使用教程
  17. Unity Spine图层混合叠加效果不生效
  18. 关于移动互联网运营的分享总结
  19. cf div2 #444 (ABC)(D已补)
  20. 敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(上)

热门文章

  1. 远程桌面 出现内部错误_如何解决远程桌面连接延迟高的问题?
  2. python方向键键值_Python实现的字典排序操作示例【按键名key与键值value排序】
  3. 深度学习-Tensorflow2.2-深度学习基础和tf.keras{1}-Tensorflow2.2-cpu/gpu环境安装-01
  4. java gc 触发_Java GC种类和触发时机
  5. android 自动更新 服务端,搭建android版本更新服务器使用android系统自带的DownloadManager下载文件...
  6. java并发编程之美-阅读记录1
  7. html2canvas解决保存图片模糊问题
  8. F盘无法访问设备硬件出现致命错误,导致请求失败数据找回的方案
  9. java中单例的几种写法
  10. BZOJ 4720 [Noip2016]换教室