JAVA笔试题集:影响if表达式的关键方法与非关键字辨析

需积分: 50 0 下载量 79 浏览量 更新于2024-09-17 收藏 94KB DOC 举报
在JAVA笔试题5中,主要考察了以下几个关键知识点: 1. **equals()和hashCode()方法的影响**: 在Java中,`List`, `Set`, 和 `Map` 的 `contains()` 方法用于检查集合中是否存在特定元素。对于`List`(如`LinkedList`)和`Set`(如`TreeSet`),判断元素存在与否通常依赖于`equals()`方法。因为`equals()`方法用来比较对象的值,所以选择`B.equals()`方法会影响if表达式的正确性,如果元素相等则返回true,反之为false。而对于`Map`(如`HashMap`),虽然也包含键值对,但`contains()`方法会查找键或值(取决于实现),因此`B.equals()`和`C.hashCode()`都可能是正确答案。 2. **equals()与hashCode()在Map中的作用**: 在`Map`中,`containsKey()`和`containsValue()`方法分别检查键或值是否存在,而`equals()`用于比较键,`hashCode()`用于快速定位存储位置。所以在`Map`的`contains()`方法中,`B.equals()`(键的比较)和`C.hashCode()`(用于定位)也会影响if表达式的正确性,这里应该选择`B.equals()`和`C.hashCode()`。 3. **多选题答案**: 对于多选题,通常`equals()`和`hashCode()`都是正确的,因为它们都可能影响`contains()`方法的行为。所以,正确答案可能是`B.equals()`和`C.hashCode()`。 4. **Java关键字识别**: 题目询问不属于Java关键字的选项。`null`和`true`虽然在Java代码中常出现,但它们是关键字而非保留字,因此`A.null`和`E.true`不是关键字。`remove`是一个方法名,而不是关键字;`NULL`和`sizeof`不是Java的关键字,`instansof`是一个特殊的类型测试运算符,所以`A.NULL`、`B.instansof`和`D.sizeof`是正确的答案。 5. **合法的Java语句**: 选项分析:`try{}catch(Exceptionx){}`后面没有匹配的`catch`或`finally`,所以不合法。`B`和`D`选项中的`NullpointExpoint`应该是拼写错误,正确的可能是`NullPointerException`。正确的`catch`块应遵循异常类型顺序,所以`C.try{}catch(Exceptionx){}finally{}`是合法的,因为它先捕获`Exception`类型的异常,然后执行`finally`块。 6. **Servlet容器**: 这个问题是关于Web开发的,列举了几个常见的Web服务器,其中`A.apache`是Apache HTTP Server的简称,`B.Tomcat`、`C.Weblogic`和`D.websphere`都是流行的Web应用服务器,所以这些都是servlet容器。 7. **Java表达式真伪判断**: - `A.j==I`和`B.j==i++`是等价的,因为`i++`会先计算后自增,所以它们的结果相同。 - `C.j==++i`和`D.j++==i`不同,前者先自增再比较,后者先比较后自增,两者结果不一定相同。 - `E.++j==i`中,`++j`表示先自增再取值,所以它不会等于原始的`i`,除非`i`已经是最大的无符号整数。 8. **位操作**: - `A.i&j`进行按位与操作,可能会得到0。 - `B.i|j`进行按位或操作,如果`i`和`j`中有1,则结果为1,否则为0。 - `C.i^j`进行按位异或操作,只有当`i`和`j`的对应位不同时结果才为1,否则为0。 根据题目描述,`int i = 0xFFFFFFFF; int j = 0x0;`,`i`全为1,`j`全为0,所以`A`和`C`可能得到0,具体取决于其他位的值。 这些题目涵盖了Java基础语法、集合操作、关键字识别、异常处理、Web开发和位操作等多个方面的知识。备考者在准备此类面试时,应熟悉这些知识点,并理解它们如何在实际编程中应用。