Java编程练习与解析

需积分: 3 6 下载量 72 浏览量 更新于2024-10-07 收藏 59KB DOC 举报
"这是一份关于JAVA编程的习题集,包含了多项选择题,主要考察对JAVA语言基础知识的理解,包括关键字、标识符、程序逻辑、数据类型、字符串处理、I/O流等方面的知识。" 1. 关键字:JAVA语言的关键字是具有特殊含义的保留字,不能作为变量名或函数名。题目中提到了`goto`、`null`、`false`和`native`,其中`goto`不是Java的关键字,其他三个是。 2. 标识符:合法的Java程序标识符应遵循一定的规则,不能以数字开头,可以包含字母、数字、下划线 `_` 和美元符号 `$`。选项中,`2mail` 是非法的,因为以数字开头,而 `大x` 不符合命名规范,因为包含非英文字符。`class` 是关键字,不能用作标识符,但如果是作为类名,它是合法的,因为类名首字母大写可以接受。`$change` 是一个合法的标识符。 3. 数据类型与运算:在Java中,整数除法会舍去小数部分。题目中的代码 `1.0 + x/2`,由于 `x` 是整型,`x/2` 的结果也会是整数,即26,然后加上1.0,结果会变为27.0,因此正确答案是A。 4. 变量类型:在Java中,`x` 是实例变量,因为它属于类的实例;`y` 是类变量,因为它声明为 `static`;而 `s` 在方法内部定义,是局部变量。 5. 字符串处理:对于需要分析字符串并分解单词的任务,通常使用 `java.util.StringTokenizer` 类,它可以按照特定的分隔符来拆分字符串。 6. I/O 流:16位Unicode字符流的读写操作分别对应 `FileReader` 类和 `FileWriter` 类,它们处理Unicode字符,如UTF-16编码。 7. 循环与控制流:该段代码是一个 `while` 循环,当 `x > 7` 时执行循环体,`x--` 会使 `x` 的值递减,因此循环三次,打印三个星号,输出结果为 `***`。 8. 字符串比较:在Java中,字符串是对象,使用 `==` 比较的是对象的引用,而非内容。`s1` 和 `s2` 都指向相同的字符串常量池中的对象,所以 `s1 == s2` 为真;而 `s3` 是新创建的对象,所以 `s1 == s3` 为假。 9. 文件输入输出:按行处理字符流,通常使用 `BufferedReader` 和 `BufferedWriter` 类,它们提供高效的行读写功能。 10. 类和对象:`InputStream` 和 `OutputStream` 是基本的字节流类,而处理字符流的类分别是 `Reader` 和 `Writer`,它们的文件版本是 `FileReader` 和 `FileWriter`,不以下划线分隔,选项D是错误的。 这些习题涵盖了Java基础的多个方面,包括语法、数据类型、流程控制、字符串操作、文件I/O等,是检验和提升Java编程技能的好材料。