标题:[求助]新手小问题 运算符问题
只看楼主
shylock424
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-5
 问题点数:0 回复次数:8 
[求助]新手小问题 运算符问题
public class mytest{
public static void main(String[] args){
boolean x=true;
boolean y=true;
boolean z=false;
boolean m=false;
System.out.println("true^true=" + x^y);
System.out.println("false^false=" + z^m);
System.out.println("true^false=" + x^z);
System.out.println("false^true=" + z^x);
}
}
出现下面这个错误

^运算两边都是布尔值 为什么会出错呢
搜索更多相关主题的帖子: 运算符 public void 
2007-03-23 00:18
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
得分:0 
你想做什么运算?

老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2007-03-23 09:08
liuliulc
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2007-2-1
得分:0 
位运算???没用过..那东西很少用.

2007-03-23 09:17
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 

之所以会出这种错误,是因为你不了解操作符的优先级别

你改成这样就不会出错了
[CODE]
boolean x=true;
boolean y=true;
boolean z=false;
boolean m=false;
System.out.println("true^true=" + (x^y));
System.out.println("false^false=" + (z^m));
System.out.println("true^false=" + (x^z));
System.out.println("false^true=" + (z^x));[/CODE]

把异或运算用括号括起来,否则的话,编译器会认为你和String在异或,当然会报错了


可惜不是你,陪我到最后
2007-03-23 10:05
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
得分:0 
新手就遇到这个问题了,学习

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-23 10:14
yushui
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:1355
专家分:22
注 册:2006-7-19
得分:0 
这是要注意的问题  所以 多加括号  记容易看懂  又不容易出错  呵呵  

fighting!from now on!
2007-03-23 11:14
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
得分:0 
MM说得很有道理

可惜不是你,陪我到最后
2007-03-23 11:15
shylock424
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-5
得分:0 

非常感谢楼上各位


路遥知马力?日久见人心
2007-03-24 04:14
shylock424
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-5
得分:0 
以下是引用千里冰封在2007-3-23 10:05:05的发言:

之所以会出这种错误,是因为你不了解操作符的优先级别

你改成这样就不会出错了
[CODE]
boolean x=true;
boolean y=true;
boolean z=false;
boolean m=false;
System.out.println("true^true=" + (x^y));
System.out.println("false^false=" + (z^m));
System.out.println("true^false=" + (x^z));
System.out.println("false^true=" + (z^x));[/CODE]

把异或运算用括号括起来,否则的话,编译器会认为你和String在异或,当然会报错了

呵呵,高手就是高手 一眼就看出问题所在
努力中


路遥知马力?日久见人心
2007-03-24 04:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-126036-1-1.html




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

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