Java编程:异常处理与基础练习
需积分: 28 180 浏览量
更新于2024-08-20
收藏 949KB PPT 举报
"程序改错题-第七章异常处理,主要涵盖Java编程语言中的异常处理、数组声明、构造函数、类的访问修饰符以及常量的声明等知识点。"
1. **异常处理**:在Java中,异常处理是通过try-catch-finally语句块来实现的。当程序中可能出现异常的代码块被try包围,如果出现异常,相应的catch块会捕获并处理它。finally块通常用于放置需要无论是否发生异常都必须执行的代码。
2. **数组声明与初始化**:题目中的程序改错题涉及到数组的边界问题。在Java中,数组的索引是从0开始的,因此一个长度为5的数组的有效索引范围是0到4。在题目给出的第一段代码中,循环应该在`i<5`时执行,而不是`i<=5`,否则会访问到数组的越界位置。
```java
public static void main(String args[]) {
int k[] = new int[5];
for (int i = 0; i < 5; i++) { k[i] = i; }
}
```
3. **构造函数**:构造函数用于初始化新创建的对象。题目中第二个程序改错题涉及到了构造函数的定义。在Java中,构造函数的名称必须与类名相同,且没有返回类型。正确的写法应该是:
```java
public class A {
int a;
public A(int a) { this.a = a; }
}
```
4. **访问修饰符**:在Java中,`private`修饰符用于限制成员变量或方法只能在同一个类中访问,`default`(无修饰符)允许在同一包内的访问,`protected`允许在同一包内和所有子类中访问,而`public`则允许从任何地方访问。题目中提到的成员变量m若只能在类A中被访问,应使用`private`修饰。
5. **接口实现**:Java中一个类可以实现多个接口,这体现了Java的多实现特性。
6. **选择题答案**:
- 对于数组的声明,正确的是(C)`int[3][]a` 和 (D)`int[][3]a`。
- 类A的成员变量m只能在类A中被访问,应用`private`修饰符,所以是(A)。
- 关于构造函数,错误的说法是(B),因为构造函数不能有返回值。
7. **填空题答案**:
- 一个Java源程序文件中最多可以定义1个公共类。
- `x=Float.parseFloat(y)`中,x是`float`类型。
- Java中一个类可以实现任意数量的接口。
- `a.length`表示数组a的长度。
- `s1==s2`的结果为`false`,因为它们是两个不同的对象引用,即使字符串内容相同。
- 合法的数组声明和构造语句是(C)`int[]ages=newint[100];`
- 不能放在一起修饰其后面内容的修饰符组合是(C)`abstract final` 类,因为抽象类不能被声明为最终的。
- 构造函数的描述错误的是(A),因为构造函数没有返回类型,不能是`void`。
8. **常量声明**:声明常量的关键字是`final`。例如,`final int MY_CONSTANT = 100;`
9. `x=Integer.parseInt(y)`中,x是`int`类型。
10. 要在子类中调用父类的方法,可以使用`super.m();`
以上就是针对程序改错题及描述中所包含的Java编程知识点的详细解答。
2010-04-10 上传
2021-09-30 上传
2011-06-23 上传
2023-06-02 上传
2009-06-17 上传
2011-01-06 上传
2022-06-05 上传
2011-04-08 上传
2009-12-15 上传
慕栗子
- 粉丝: 19
- 资源: 2万+
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新