| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1066 人关注过本帖
标题:关于逻辑运算符的问题,希望能够详细解释?
只看楼主 加入收藏
raylei
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-8-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
关于逻辑运算符的问题,希望能够详细解释?
逻辑运算符:&:若A为false,还是会去计算B的值
            &&:若A为false,不会去计算B的值
        boolean a = true;
        boolean b = false;
        System.out.println(a&b);//false
        System.out.println(a&&b);//false
        System.out.println(b&a);//false
        System.out.println(b&&a);//false
那么这个System.out.println(b&a);//false不应该是true吗?
        
搜索更多相关主题的帖子: false 
2016-08-23 15:26
仍去寻酒
Rank: 2
来 自:火星
等 级:论坛游民
威 望:1
帖 子:14
专家分:27
注 册:2016-7-16
收藏
得分:20 
逻辑运算符有三种 :与&&       或||       非!
你的这些代码输出应该全是flase
逻辑运算符: &&(与) ||(或) !(反) &&:当两边同时为真时,结果为真,否则为假 || :当两边有一边为真时,结果为真,否则为假 ! :真值变假值,假值变真值
还有应该注意到逻辑运算符的短路操作,比如:
int a=1,b=1;
if(a>b&&a/0){
System.out.println("one");
}else System.out.println("two");
“&&”运算符检查第一个表达式是否返回“false”,如果是“false”则结果必为“false”,不再检查其他内容。
“a/0”是个明显的错误!但短路运算“&&”先判断“a<b”,返回“false”,遂造成短路,也就不进行“a/0”操作了,程序会打出two 这个时候,交换一下“&&”左右两边的表达式,程序立即抛出异常“java.lang.ArithmeticException: / by zero”。


[此贴子已经被作者于2016-8-23 22:46编辑过]


不断的发现以前的自己是个傻逼 ,这就是人生
2016-08-23 22:45
快速回复:关于逻辑运算符的问题,希望能够详细解释?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031399 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved