3月26日 Java学习笔记

一、Java异常处理

  1. 异常概述
    异常是指程序运行过程中出现的不正常情况。
    Java中异常是通过类来表示的,所有异常类都是Throwable类的子类。
    异常分为两大类:Error(错误)和Exception(异常)。
    Error:通常表示不可恢复的严重问题,如虚拟机错误,一般应用程序不需要处理。
    Exception:表示可以被程序处理的异常,又分为RuntimeException(运行时异常)和非运行时异常(检查型异常)。运行时异常通常由程序设计错误导致,如空指针异常、数组越界异常等;非运行时异常则需要显式处理,如IOException。
  2. 异常处理机制
    try-catch-finally
    try块:放置可能出现异常的代码。
    catch块:捕获并处理异常,可以有多个catch块,按从子类到父类的顺序排列。
    finally块:无论是否发生异常都会执行,常用于释放资源。
    java
    复制
    try {
    // 可能出现异常的代码
    } catch (ExceptionType1 e1) {
    // 处理ExceptionType1异常
    } catch (ExceptionType2 e2) {
    // 处理ExceptionType2异常
    } finally {
    // 释放资源等操作
    }
    throws声明
    在方法声明中使用throws关键字声明可能抛出的异常,将异常处理责任交给调用者。
    java
    复制
    public void methodName() throws ExceptionType1, ExceptionType2 {
    // 可能抛出异常的代码
    }
    自定义异常
    通过继承Exception类或RuntimeException类来创建自定义异常类,用于表示特定业务逻辑中的异常情况。
    java
    复制
    public class CustomException extends Exception {
    public CustomException(String message) {
    super(message);
    }
    }
  3. 异常处理原则
    捕获异常时应尽量具体,避免使用过于宽泛的catch(Exception e)。
    对于可恢复的异常,应尽量进行恢复操作;对于不可恢复的异常,可记录日志以便后续分析。
    使用finally块释放资源时,注意避免finally块中的代码覆盖返回值等问题。
    二、Java集合框架
  4. 集合框架概述
    Java集合框架是一组用于存储和操作一组对象的接口和类,提供了高效的集合操作方式。
    主要接口包括Collection、List、Set、Map等,常见的实现类有ArrayList、LinkedList、HashSet、HashMap等。
  5. List接口
    List是一个有序集合,可以包含重复元素,元素有索引。
    常用实现类:
    ArrayList:基于动态数组实现,随机访问效率高,增删元素效率低,线程不安全。
    LinkedList:基于双向链表实现,增删元素效率高,随机访问效率低,线程不安全。
    java
    复制
    // ArrayList示例
    List arrayList = new ArrayList<>();
    arrayList.add("元素1");
    arrayList.add("元素2");
    String element = arrayList.get(0);

// LinkedList示例
List linkedList = new LinkedList<>();
linkedList.add("元素A");
linkedList.add("元素B");
String element = linkedList.get(0);
3. Set接口
Set是一个不允许重复元素的集合,元素无序。
常用实现类:
HashSet:基于哈希表实现,元素无序,线程不安全。
TreeSet:基于红黑树实现,元素有序,线程不安全。
java
复制
// HashSet示例
Set hashSet = new HashSet<>();
hashSet.add("元素X");
hashSet.add("元素Y");

// TreeSet示例
Set treeSet = new TreeSet<>();
treeSet.add("元素M");
treeSet.add("元素N");
4. Map接口
Map是一个存储键值对的集合,键唯一,值可以重复。
常用实现类:
HashMap:基于哈希表实现,线程不安全,允许一个null键和多个null值。
TreeMap:基于红黑树实现,键有序,线程不安全。
java
复制
// HashMap示例
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("键1", 100);
hashMap.put("键2", 200);
int value = hashMap.get("键1");

// TreeMap示例
Map<String, Integer> treeMap = new TreeMap<>();
treeMap.put("键A", 300);
treeMap.put("键B", 400);
int value = treeMap.get("键A");

posted @ 2025-03-26 23:11  头发少的文不识  阅读(28)  评论(0)    收藏  举报