> 考試說明:本次測試卷一共25道測試題,共計50分。考試時間50分鐘。
## 一、選擇題(共25題,每題2分)
1. 下列代碼中的異常屬于(AD)
~~~
int a = 0;
System.out.println(2 / a);
~~~
~~~
A. 非檢查型異常
B. 檢查型異常
C. Error
D. Exception
~~~
2. (C)類及其子類所表示的異常是用戶程序無法處理的。
~~~
A. NumberFormatException
B. Exception
C. Error
D. RuntimeException
~~~
3. 數組下標越界,則發生異常,提示的異常為(ArrayIndexOutOfBoundsException)
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");
}
}
two
three
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("除數不允許為零");
}
}
}
a = 0
除數不允許為零
~~~
6. 下列關于異常的描述,錯誤的是(BD)
~~~
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. 下列代碼的運行結果為(30)
~~~
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. 下列關于這段代碼的說法正確的是(BD)
~~~
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. 在下列代碼劃線處不可以填入選項中的哪一個異常類型(C)
~~~
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課 主流框架