java中的布尔类型以及运算符问题

publicclasstest1{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubboo... public class test1 {

public static void main(String []args) {
// TODO Auto-generated method stub
boolean b1=true,b2=true,b3;
System.out.println(b3=!b1?b1:!b2);

}

}
如题结果是false,b3未定义,不太清楚怎么算,b3=!b1?判断是错误的,那为什么错误或者应该怎么做
展开
 我来答
Asphaltt
2013-12-28
知道答主
回答量:8
采纳率:0%
帮助的人:10.1万
展开全部
关键在 b3=!b1?b1:!b2
b3已声明,并以b3=!b1初始化为!b1,即false。
操作符 ? : ,先判断b3的值,再根据b3的值false运行 ? : 操作符,得到!b2的值(即得到false);接着便打印false出来
小童鞋_成er
2013-12-28 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
您好,提问者:
b3必须在main方法中定义为false或者true。
改为:b3 != b1? b1 : b2
追问
不是这样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cadc5a271
2013-12-28 · 超过23用户采纳过TA的回答
知道答主
回答量:134
采纳率:50%
帮助的人:42万
展开全部
b3=!b1是false所以是!b2,!b2当然是false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式