> 考试说明:本次测试卷一共25道测试题,共计50分。考试时间50分钟。
## 一、选择题(共25题,每题2分)
1. 下列代码中的异常属于()
~~~
int a = 0;
System.out.println(2 / a);
~~~
~~~
A. 非检查型异常
B. 检查型异常
C. Error
D. Exception
~~~
2. ()类及其子类所表示的异常是用户程序无法处理的。
~~~
A. NumberFormatException
B. Exception
C. Error
D. RuntimeException
~~~
3. 数组下标越界,则发生异常,提示的异常为()
4. 运行下列代码,当输入的 num 值为 a 时,系统会输出()
~~~
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try {
int num = input.nextInt();
System.out.println("one");
} catch(Excetion e) {
System.out.println("two");
} finally {
System.out.println("three");
}
System.out.println("end");
}
}
~~~
5. 运行下列代码,输出结果为()
~~~
public class Test {
public static void main(String[] args) {
try {
int a = 1 - 1;
System.out.println("a = " + a);
int b = 4 / a;
int c[] = {1};
c[10] = 99;
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("索引异常");
} catch (ArithmeticException e) {
System.out.println("除数不允许为零");
}
}
}
~~~
6. 下列关于异常的描述,错误的是()
~~~
A. printStackTrace() 用来跟踪异常事件发生时执行堆栈的内容
B. catch 块中可以出现同类型异常
C. 一个 try 块可以包含多个 catch 块
D. 捕获到异常后将输出所有 catch 语句块的内容
~~~
7. 假设要输入的 id 值为 a101,name 值为 Tom,程序的执行结果为()
~~~
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
try {
int id = input.nextInt();
String name = input.next();
System.out.println("id=" + id + ", name=" + name);
} catch(InputMismatchException e) {
System.out.println("输入数据不合规范");
System.exit(1);
e.printStackTrace();
} finally {
System.out.println("输入结束");
}
}
}
~~~
8. 下列代码的运行结果为()
~~~
public class Test {
public static int test(int b) {
try {
b += 10;
return b;
} catch(Exception e) {
return 1;
} finally {
b += 10;
return b;
}
}
public static void main(String[] args) {
int num = 10;
System.out.println(test(num));
}
}
~~~
9. 下列关于这段代码的说法正确的是()
~~~
public class Test {
public static void test(String str) throws Exception {
if (null == str || str.length() == 0) {
throw new Exception("参数不能为空");
} else {
System.out.println("str=" + str);
}
}
public static void main(String[] args) throws Exception {
Scanner input = new Scanner(System.in);
String str = input.nextLine();
test(str);
}
}
~~~
~~~
A. 代码错误,没有对 test() 方法中抛出的异常进行处理
B. 若产生异常,将由系统进行异常处理
C. 本段代码对 throw 抛出异常对象的处理方案为自己抛出异常自己处理
D. 若输入空字符串,代码运行结果为:
Exception in thread "main" java.lang.Exception: 参数不能为空
~~~
10. 在下列代码划线处不可以填入选项中的哪一个异常类型()(选择一项)
~~~
public static int test(int a, int b) throws _______ {
if (b == 0) {
throw new AritheticException("算术异常");
} else {
return (a / b);
}
}
~~~
~~~
A. Throwable
B. Exception
C. InputMismatchException
D. ArithmeticException
~~~
11. 关于下列代码说法正确的是()(选择一项)
~~~
class MyException extends Exception {
public MyException() {
super("The price is too low!");
}
}
public class Test {
public static void main(String[] args) {
Scanenr input = new Scanner(System.in);
float price = input.nextFloat();
try {
if (price < 10) {
throw new MyException();
} else {
System.out.println("the price is " + price);
}
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
~~~
~~~
A. 编译出错,因为没有捕获 Exception 异常
B. 当输入 price 的值为 10,运行结果为:The price is too low!
C. 当输入 price 的值为 9时,运行结果为:the price is 9。0
D. 当输入 price 的值为 0时,运行结果为:The price is too low!
~~~
12. 若我们想要在位置 1 处抛出异常的同时保留 MyException 中的异常信息,则可以在位置 1 中添加哪句代码()(选择一项)
~~~
public static void methodOne() throws MyException {
throw new MyException();
}
public static void methodTwo() throws Exception {
try {
methodOne();
} catch(MyException e) {
// 位置 1
}
}
~~~
~~~
A. throw new Exception("新异常", e);
B. throw new Exception("新异常", ex);
C. throw new Exception("新异常");
D. throw new MyException(e);
~~~
13. 请写出所有的包装类()
14. 下面代码运行的正确结果是()
~~~
public class BuildStuff {
int test(Boolean b, int i) {
if (b) {
return i / 7;
}
return i / 49;
}
public static void main(String[] args) {
Boolean bool = new Boolean(true);
Integer x = 343;
Integer y = new BuildStuff().test(bool, x);
System.out.println(y);
}
}
~~~
15. 下面代码运行的正确结果是()(选择一项)
~~~
public class Wrap {
Integer i;
int x;
public Wrap(int y) {
x = i + y;
System.out.println(x);
}
public static void main(String[] args) {
new Wrap(new Integer(4));
}
}
~~~
16. 下面代码运行的正确结果是()
~~~
public static void main(String[] args) {
Integer i = new Integer(1) + new Integer(2);
switch (i) {
case 3 :
System.out.println("hello");
break;
default:
System.out.println("world");
break;
}
}
~~~
17. 给出如下语句,写出运行结果()
~~~
String str = "hello,world";
str = str.substring(2,5);
char ch = str.charAt(str.length());
System.out.println(ch);
~~~
18. 给出如下语句,写出运行结果()
~~~
String str = "abcdefg";
char ch = str.substring(3, 6).charAt(1);
System.out.println(ch);
~~~
19. 关于字符串的 equals() 和 compareTo() 方法,选项中描述错误的是()
~~~
A. 方法 equals() 比较两个字符串内容是否相等
B. 方法 compareTo() 比较两个字符串大小
C. 方法 equals() 返回值是 boolean 类型的值
D. 方法 compareTo() 返回值是 String 类型的值
~~~
20. 已知如下代码,运行结果为()
~~~
String str1 = new String("hello");
String str2 = "hello";
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
System.out.println(str1);
System.out.println(str1.concat(str2));
System.out.println(str1)
~~~
21. 给出如下语句:请写出空白处代码,使得得到输出结果“123abc 123abc”。
~~~
StringBuilder sb1 = new StringBuilder("123");
String s1 = "123";
// ....
System.out.println(sb1 + " " + s1)
~~~
22. 已知 ArrayList 的对象 list,请写出判断 ArrayList 中是否包含“helloworld”的语句。
23. 以下关于 Set 对象的创建错误的是()
~~~
A. Set set = new Set();
B. Set set = new HashSet();
C. HashSet set = new HashSet();
D. Set set = new HashSet(10);
~~~
24. 关于 Iterator 的描述错误的是()
~~~
A. Iterator 可以对集合 Set 中的元素进行遍历
B. hasNext() 方法用于检查集合中是否还有下一个元素
C. next() 方法返回集合中的下一个元素
D. next() 方法返回值为 false 时,表示集合中的元素已经遍历完毕
~~~
25. HashMap 的数据是以 key-value 的形式存储的,以下关于HashMap的说法正确的是()
~~~
A. HashMap 中的键不能为 null
B. HashMap 中的 Entry 对象是有序排列的
C. key 值不允许重复
D. value 值不允许重复
~~~
- 阶段一 Java 零基础入门
- 步骤1:基础语法
- 第01课 初识
- 第02课 常量与变量
- 第03课 运算符
- 第04课 选择结构
- 第05课 循环结构
- 第06课 一维数组
- 第08课 方法
- 第09课 数组移位与统计
- 第10课 基础语法测试
- 第09课 基础语法测试(含答案)
- 步骤2:面向对象
- 第01课 类和对象
- 第02课 封装
- 第03课 学生信息管理
- 第04课 继承
- 第05课 单例模式
- 第06课 多态
- 第07课 抽象类
- 第08课 接口
- 第09课 内部类
- 第10课 面向对象测试
- 第10课 面向对象测试(含答案)
- 步骤3:常用工具类
- 第01课 异常
- 第02课 包装类
- 第03课 字符串
- 第04课 集合
- 第05课 集合排序
- 第06课 泛型
- 第07课 多线程
- 第08课 输入输出流
- 第09课 案例:播放器
- 第10课 常用工具测试(一)
- 第10课 常用工具测试(一)(答案)
- 第10课 常用工具测试(二)
- 第10课 常用工具测试(二)(答案)
- 阶段二 从网页搭建入门 JavaWeb
- 步骤1:HTML 与 CSS
- 第01课 HTML 入门
- 第01课 HTML 入门(作业)
- 第02课 CSS 入门
- 第02课 CSS 入门(作业)
- 第03课 CSS 布局
- 第03课 CSS 布局(作业)
- 步骤2:JavaScript 与前端案例
- 第01课 JavaScript 入门
- 第01课 JavaScript 入门(作业)
- 第02课 仿计算器
- 第03课 前端油画商城案例
- 第04课 轮播图
- 第05课 网页搭建测试
- 第05课 网页搭建测试(含答案)
- 步骤3:JavaScript 教程
- 入门
- 概述
- 基本语法
- 数据类型
- 概述
- 数值
- 字符串
- undefined, null 和布尔值
- 对象
- 函数
- 数组
- 运算符
- 算术运算符
- 比较运算符
- 布尔运算符
- 位运算符
- 运算顺序
- 语法专题
- 数据类型的转换
- 错误处理机制
- 标准库
- String
- Date
- Math
- DOM
- 概述
- Document 节点
- 事件
- EventTarget 接口
- 事件模型
- 常见事件
- 阶段三 数据库开发与实战
- 步骤1:初始数据库操作
- 第01课 数据类型
- 第02课 表的管理
- 第03课 数据管理
- 第04课 常用函数
- 第05课 JDBC 入门
- 第06课 Java 反射
- 第07课 油画商城
- 第08课 数据库基础测试
- 步骤2:MyBatis 从入门到进阶
- 第01课 IntelliJ IDEA 开发工具入门
- 第02课 Maven 入门
- 第03课 工厂模式
- 第04课 MyBatis 入门
- 第05课 MyBatis 进阶
- 第06课 商品信息管理
- 第07课 MyBatis 基础测试
- 步骤3:Redis 数据库与 Linux 下项目部署
- 第01课 Linux 基础
- 第02课 Linux 下 JDK 环境搭建及项目部署
- 第03课 Redis 入门
- 阶段四 SSM 到 Spring Boot 入门与综合实战
- 步骤1:Spring 从入门到进阶
- 第01课 Spring 入门
- 第02课 Spring Bean 管理
- 第03课 Spring AOP
- 第04课 基于 AspectJ 的 AOP 开发
- 第05课 JDBC Template
- 第06课 Spring 事务管理
- 第07课 人员管理系统开发
- 第08课 Spring 从入门到进阶测试
- 步骤2:Spring MVC 入门与 SSM 整合开发
- 第01课 Spring MVC 入门与数据绑定
- 第02课 Restful 风格的应用
- 第03课 SpringMVC 拦截器
- 第04课 办公系统核心模块
- 步骤3:Spring Boot 实战
- 第01课 Spring Boot 入门
- 第02课 校园商铺项目准备
- 第03课 校园商铺店铺管理
- 第04课 校园商铺商品管理及前台展示
- 第05课 校园商铺框架大换血
- 步骤4:Java 面试
- 第01课 面试准备
- 第02课 基础面试技巧
- 第03课 Web基础与数据处理
- 第04课 主流框架