今日学习目标:
- 掌握Java中的异常处理机制。
- 学习Java中的集合框架(Collections Framework)。
- 了解Java中的泛型(Generics)。
一、异常处理
在Java中,异常是程序执行期间发生的问题,它会打断正常的程序流程。Java提供了异常处理机制,允许我们在程序运行时检测和处理这些异常。
- 异常类型:
- 检查型异常(Checked Exceptions):编译器要求程序员必须处理的异常,如
IOException
、ClassNotFoundException
等。 - 非检查型异常(Unchecked Exceptions):通常是运行时异常,如
NullPointerException
、ArrayIndexOutOfBoundsException
等,编译器不要求必须处理。
- 异常处理关键字:
- try:包含可能产生异常的代码块。
- catch:捕获并处理try块中产生的特定类型的异常。
- finally:无论是否发生异常,finally块中的代码总是会被执行(除非JVM退出)。
- throw:用于显式地抛出一个异常。
- throws:用于声明一个方法可能抛出的异常,让调用者知道需要处理这些异常。
示例代码:
java复制代码
public class ExceptionExample {
public static void main(String[] args) {
try {
// 可能会抛出异常的代码
int result = 10 / 0; // 这会抛出ArithmeticException
} catch (ArithmeticException e) {
// 处理ArithmeticException异常
e.printStackTrace();
} finally {
// 无论是否发生异常,这里的代码都会执行
System.out.println("Finally block executed.");
}
}
}
二、集合框架(Collections Framework)
Java集合框架为数据提供了统一的接口和结构,方便数据的存储、检索和操作。
- 主要接口:
Collection
:是集合框架的根接口。List
:有序的集合(元素可以重复)。Set
:无序的集合(元素不重复)。Queue
:队列,先进先出(FIFO)的数据结构。Map
:存储键值对(key-value pairs)的集合。
- 常用实现类:
ArrayList
、LinkedList
:List接口的实现。HashSet
、TreeSet
:Set接口的实现。LinkedList
、PriorityQueue
:Queue接口的实现。HashMap
、TreeMap
、Hashtable
、Properties
:Map接口的实现。
示例代码:
java复制代码
import java.util.ArrayList;
import java.util.List;
public class CollectionsExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
三、泛型(Generics)
泛型是JDK 5.0引入的新特性,允许在定义类、接口和方法时使用类型参数(type parameters)。泛型的主要目的是提高代码的重用率,减少类型转换时的错误。
示例代码:
java复制代码
import java.util.ArrayList;
import java.util.List;
public class GenericsExample {
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("Hello");
stringList.add("World");
for (String s : stringList) {
System.out.println(s);
}
// 泛型方法示例
printList(stringList);
}
public static <T> void printList(List<T> list) {
for (T item : list) {
System.out.println(item);
}
}
}
今日学习总结:
今天学习了Java的异常处理机制,掌握了try-catch-finally结构的使用,了解了异常类型的分类。接着学习了Java集合框架,熟悉了常用的接口和实现类,并学会了使用泛型来提高代码的可重用性和安全性。通过编写示例代码,加深了对这些知识点的的理解和掌握。