"这篇文档包含了重庆大学历年来的Java模拟试题及答案解析,旨在帮助考生复习和准备Java相关的考试。"
在Java编程语言的学习过程中,掌握基础语法和概念至关重要。从提供的模拟试题中,我们可以提取以下几个关键知识点:
1. **Java保留字**:Java的保留字是具有特殊含义的词汇,不能用作变量名或类名等标识符。题目中提到`float`、`class`和`extends`是Java保留字,而`virtual`不是。
2. **Java标识符**:Java标识符用于命名类、方法、变量等。合法的标识符可以由字母、数字和美元符号 `$` 或下划线 `_` 组成,但不能以数字开头。选项 `45six` 是非法的标识符。
3. **数据类型转换与运算**:在Java中,表达式 `(short)x/y*2` 的结果会被自动转换为 `short` 类型,但除法运算 `/` 在两个整数之间会返回一个 `double` 值。因此,返回值类型 `returnType` 为 `int`,因为 `short` 类型无法直接存储 `double` 类型的结果。
4. **浮点数比较**:浮点数的比较需要注意,`f==g` 比较的是对象引用,而不是数值,所以通常是不相等的。`f==g.floatValue()` 是正确的,因为这里比较的是数值。`d==f` 和 `d.equals(f)` 都是错误的,因为一个是 `Float` 对象,另一个是 `double` 原始类型,它们不能直接比较。
5. **二维数组定义**:Java的二维数组定义有多种方式,但 `inta[][]=newint[][];` 是错误的,因为它没有指定每一维的长度。
6. **位运算**:Java中的`|`是按位或运算符,当两个操作数都是二进制形式时,对应位上1和1、0和1的结果均为1,其余情况结果为0。因此,`4|7` 的结果是111,对应的十进制是7。
7. **AWT组件**:`MenuBar` 是用来放置菜单的组件,它只能添加到 `Frame` 类的实例中,因此正确答案是 `A、Java.awt.Frame`。
8. **线程管理**:在Java中,通过调用 `Thread` 类的 `start()` 方法来创建并启动新的线程。其他选项如 `run()` 直接执行线程体,`execute()` 通常用于 Executor 框架,而 `run(Runnable)` 用于传递 `Runnable` 实例。
9. **Boolean对象**:`Boolean` 类是 `boolean` 原始类型的包装类,`new Boolean("yes")` 创建了一个 `Boolean` 对象,`booleanValue()` 返回的是该对象表示的布尔值,由于 "yes" 非空字符串,所以 `booleanValue()` 的值是 `true`。
10. **DataOutputStream**:这个类用于写入基本类型的Java数据到输出流。正确构造方法是 `new DataOutputStream(new FileInputStream("in.txt"))`,它将数据输出到文件。
这些题目涵盖了Java的基础语法、数据类型、运算符、数组、类与对象、线程以及I/O流等核心概念。通过解答这些模拟题,学生可以检验自己的Java知识掌握程度,并对不足之处进行补充学习。