java中if条件里面判断boolean值判断的true还是false?

请教下面这个题,会走if,我运行的是会了第一个输出a,但if里面判断的不是true吗?第一个里面我理解的是当a和b都不是true时,输出C,我觉得第二个才应该走啊,当a或... 请教下面这个题,会走if,我运行的是会了第一个输出a,但if里面判断的不是true吗?第一个里面我理解的是当a和b都不是true时,输出C,我觉得第二个才应该走啊,当a或者b不是true时,输出b,为什么走了第一个if,而且我把第一个if给注销掉,第二个if也没用,直接走第三个else了?为什么呢?java中if条件里面判断boolean值判断的true还是false?
boolean a=true,b=false;
if(!(a&&b)){
System.out.print("a");
}
else if(!(a||b))
{
System.out.print("b");
}
else
{
System.out.print("c");
}
展开
 我来答
金属狂潮_ok
推荐于2018-03-01
知道答主
回答量:3
采纳率:0%
帮助的人:5059
展开全部
我感觉你这个好像是绕口令啊,什么项目那么变态啊!
if判断的本来就是true和false,true就执行if语句,false就执行else语句
&&需要两个都为ture,那返回的才是ture,a和b其中有一个是false了,所以(a&&b)返回的是false,正好(a&&b)前面有个!号,是取反的,那if(!(a&&b))的结果就是ture了,所以就执行了System.out.print("a");
后面的else if(){ }else{ }是不会执行的!
淡水千痕乀
2018-02-28 · TA获得超过360个赞
知道小有建树答主
回答量:141
采纳率:83%
帮助的人:29.3万
展开全部
哈哈,这个if(!(a||b))你理解错了,a 和b都为false才会走的
"双或"以及"或",只要有一个为true结果就为true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenzhy5235797
2011-09-15
知道答主
回答量:15
采纳率:0%
帮助的人:2.4万
展开全部
首先(a&&b)应该是false,然后再取反则是true,所有第一个if会执行.
这个主要是是(a&&b)这句话,是要a和b都为真才为真,这里a=true,b=false.所以(a&&b)自然是false,然后再将这个false取反不就是true了,所以会执行第一条if.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunguiqu
2011-09-15 · 超过17用户采纳过TA的回答
知道答主
回答量:32
采纳率:0%
帮助的人:43.8万
展开全部
为什么要写这么乱的判断
boolean aAndB = a&&b //----false
if(!aAndB) { //-----true

}
追问
软考的题!
追答
不管是什么,题可以这么出,但是代码这么些就很不好了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潭欧莲
推荐于2017-09-26 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:118
采纳率:100%
帮助的人:96.3万
展开全部
boolean a=true,b=false;
if(!(a&&b))// a&&b=false,!(false)=true;也就是条件成立 就运行 输出 a.
{
System.out.print("a");
}
else if(!(a||b))//a||b=true;!(true)=false假如程序到这里了,但是条件不成立,则不会执行后面的语句 输出 b
{
System.out.print("b");
}
else
{
System.out.print("c");
}

对于if()语句的理解是:
if(条件){
语句1
}
else{
语句2
}
当条件=true时执行语句1;条件=false时,执行语句2
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式