当执行下面代码时,会输出( )。 Boolean b1 = new Boolean(true); Boolean b2 = new Boolean(true); if (b1 == b2) if (bi.equal

admin2010-02-22  13

问题  当执行下面代码时,会输出(    )。    Boolean b1 = new Boolean(true);    Boolean b2 = new Boolean(true);    if  (b1 == b2)        if  (bi.equals(b2))           System. out.printin ("a");        else           System. out. println ("b");    else        if (bi.equals(b2))           System. out.println ("c");        else           System. out.printIn("d");

选项 A、a
B、b
C、c
D、d

答案4

解析 本题考查对简单类型中的boolean类型的类封装的理解和掌握。对应于基本数据类型boolean的类封装是Boolean。它的构造函数的原型是Boalean(boolean value),将boolean值的数据转换为Boolean的对象。成员函数 equals()的原型是Boolean equals(Object Obj),当且仅当obj对象为Boolean对象且它的布尔值与该对象的布尔值相同时返回true。注意关系运算符==用来比较两个操作数的值是否相等。它一般只能用在基本数据类型间的比较,对于复杂的数据类型,这种比较往往都是没有意义的,对于这种没有意义的比较,其结果都为false。在本题的代码中,先创建两个Boolean类的对象b1和b2,并且它们的布尔值都为 true。然后直接对这两个对象进行==关系运算,这样的运算结果肯定为false,程序流程就走到第1层的else语句那里了,然后再用equals函数对两个对象的布尔值进行比较。因为它们的布尔值都为true,所以返回结果为true。这样输出的结果就为C。
转载请注明原文地址:https://jikaoti.com/ti/MkH0FFFM
0

最新回复(0)