当前位置: 代码迷 >> Java相关 >> [求助]新手小问题 运算符问题
  详细解决方案

[求助]新手小问题 运算符问题

热度:246   发布时间:2007-03-23 00:18:19.0
[求助]新手小问题 运算符问题
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  

----------------解决方案--------------------------------------------------------
你想做什么运算?
----------------解决方案--------------------------------------------------------
位运算???没用过..那东西很少用.
----------------解决方案--------------------------------------------------------

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

你改成这样就不会出错了
[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在异或,当然会报错了


----------------解决方案--------------------------------------------------------
新手就遇到这个问题了,学习
----------------解决方案--------------------------------------------------------
这是要注意的问题  所以 多加括号  记容易看懂  又不容易出错  呵呵  
----------------解决方案--------------------------------------------------------
MM说得很有道理

----------------解决方案--------------------------------------------------------

非常感谢楼上各位


----------------解决方案--------------------------------------------------------
以下是引用千里冰封在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在异或,当然会报错了

呵呵,高手就是高手 一眼就看出问题所在
努力中
----------------解决方案--------------------------------------------------------

  相关解决方案