符号“&”和“&&”有什么区别?

 我来答
王律师案件普法

推荐于2019-08-10 · TA获得超过35.9万个赞
知道大有可为答主
回答量:374
采纳率:89%
帮助的人:35.8万
展开全部

两者的区别是前者在执行过程中会出现“短路”的现象。即若符号”&&”前的表达式如果为假,那么后面的那个表达式将不会被执行,直接返回false。

1、 相同点:

在java中”&&”和”&”都是逻辑运算符

2、区别举例:

int i=0,j=1;

if(i++&&j++)

System.out.println(“j=”+j);

的输出结果是:j=1;而如果换成”&”则程序的输出结果将为:j=2,在我们书写的程序中一般是不会用后者的,因为我们的目的是必须两者都为真才执行下面的语句。同理,符号”||”和符号”|”的区别同例子。

半梦半醒半浮生zZ
2019-10-23
知道答主
回答量:21
采纳率:0%
帮助的人:1.5万
展开全部
&运算符有两种用法:(1)按位与;(2)逻辑与。&&运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true整个表达式的值才是true。
&&之所以称为短路运算是因为,如果&&左边的表达式的值是false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是null而且不是空字符串,应当写为:username != null &&!username.equals(“”),二者的顺序不能交换,更不能用&运算符,因为第一个条件如果不成立,根本不能进行字符串的equals比较,否则会产生NullPointerException异常。注意:逻辑或运算符(|)和短路或运算符(||)的差别也是如此。
补充:如果你熟悉JavaScript,那你可能更能感受到短路运算的强大,想成为 JavaScript的高手就先从玩转短路运算开始吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式