题目:编写一个接受两个字符串参数的方法,用各种布尔值的比较关系来比较这两个字符串,然后把结果打印出来。做==和!=比较的同时,用equals()作测试。在main()里用几个不同的字符串对象调用这个方法。
在3.17小节里,在代码里展示了各种基本类型支持的运算,不支持的都注释掉了。我们按照书上的形式来测试一下boolean能用哪些运算。
代码如下:
public class Test3_17 {
public static void main(String[] args){
Test3_17.boolTest(true,false);
System.out.println();
Test3_17.boolTest(true,true);
System.out.println();
Test3_17.boolTest(false,false);
}
static void boolTest(boolean x,boolean y) {
boolean result;
//x = x / y;
// x = x + y;
// x = x - y;
// x = x * y;
// x++;
// x--;
// x+=y;
// x-=y;
// x>y;
result = x && y;
System.out.println(result);
result = x || y;
System.out.println(result);
result = x & y;
System.out.println(result);
result = x | y;
System.out.println(result);
result = x ^ y;
System.out.println(result);
result = (x == y);
System.out.println(result);
// result = (x.equals(y));
result = (x != y);
System.out.println(result);
// x = ~y;
}
}
测试后发现适合boolean值运算的有 &&, ||, &, | , ^ ,==,!=,其它运算符都不支持(这里&=,|=,^=可以视作&,|,^运算后再用=,可以用与Boolean运算)。
控制台输出:
false
true
false
true
true
false
true
true
true
true
true
false
true
false
false
false
false
false
false
true
false
上面代码发现boolean基本类型不能用equals,但是包装类型可以用。
Boolean a = true;
Boolean b = false;
System.out.println(a.equals(b));
控制台输出false。
以上。