&和&&的区别
2018-03-27 14:47
302 查看
答:&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username != null &&!username.equals(“”),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的equals比较,否则会产生NullPointerException异常。注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。补充:如果你熟悉JavaScript,那你可能更能感受到短路运算的强大,想成为JavaScript的高手就先从玩转短路运算开始吧。
相关文章推荐
- &与&&有什么区别?
- "=="和equals方法究竟有什么区别?
- &与&&的区别
- &与&&区别
- <iostream>he<iostream.h>的区别
- && 和& 的区别
- &和&&的区别,逻辑运算符和位运算符
- <jsp:include>与include指令的区别
- &&与&区别
- C语言与C++的区别有很多 & 类与结构体的区别 & 类与联合是相互关联的
- <div+css页面布局课堂笔记>3---页面布局的盒子模型(IE与其他浏览器区别)
- <context-param>与<init-param>的区别与作用
- &与&&的区别
- &和&&的区别
- " "和null的区别
- &和&&、|和||的区别
- 将js代码放到<head>标签和放到<body>标签里的区别
- 弱问JSP中的<%= %>和${ }到底有什么区别?
- <%@ include file=""%>与<jsp:include page=""/>区别
- <%@ include file=""%>与<jsp:include page=""/>区别