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

admin2010-02-22  25

问题 当执行下面代码时,会输出(    )。    Boolean b1 = new Boolean(true);    Boolean b2 = new Boolean(true);    if (bl == b2)       if (b1.equals(b2))         System.out.println("a");       else         System.out.println("b");    else       if (bi.equals(b2))         System.out.println("c");       else         System.out.println("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://kaotiyun.com/show/ninp777K
0

最新回复(0)