当前位置: 首页 > web >正文

Java基础知识点集合

Java基础知识点集合

一、Java语言基础

1. 数据类型

  • 基本数据类型
    • 整数类型:byte(1)、short(2)、int(4)、long(8)
    • 浮点类型:float(4)、double(8)
    • 字符类型:char(2)
    • 布尔类型:boolean(1)
  • 引用数据类型
    • 类(class)
    • 接口(interface)
    • 数组(array)

2. 变量与常量

  • 变量声明:数据类型 变量名
  • 常量:final 数据类型 常量名 = 值;

3. 运算符

  • 算术运算符:+ - * / % ++ --
  • 关系运算符:== != > < >= <=
  • 逻辑运算符:&& || !
  • 位运算符:& | ^ ~ << >> >>>
  • 赋值运算符:= += -= *= /=
  • 三目运算符:条件 ? 表达式1 : 表达式2

4. 流程控制

  • 条件语句:

    if (条件) {...}
    else if (条件) {...}
    else {...}switch (变量) {case1: ... break;default: ...
    }
    
  • 循环语句:

    while (条件) {...}do {...} while (条件);for (初始化; 条件; 迭代) {...}for (元素类型 变量 : 集合/数组) {...} // 增强for循环
    

二、面向对象编程

1. 类与对象

  • 类定义:

    [修饰符] class 类名 {// 成员变量// 构造方法// 成员方法
    }
    
  • 对象创建:类名 对象名 = new 类名();

2. 封装、继承、多态

  • 封装:private修饰属性,提供public的get/set方法
  • 继承class 子类 extends 父类
  • 多态
    • 编译时多态:方法重载
    • 运行时多态:方法重写

3. 抽象类与接口

  • 抽象类:

    abstract class 类名 {abstract 返回类型 方法名(); // 抽象方法
    }
    
  • 接口:

    interface 接口名 {返回类型 方法名(); // 默认public abstractdefault 返回类型 方法名() {...} // JDK8默认方法static 返回类型 方法名() {...} // JDK8静态方法
    }
    

4. 常用修饰符

  • 访问修饰符:public、protected、(default)、private
  • 非访问修饰符:static、final、abstract

三、异常处理

1. 异常体系

  • Throwable
    • Error:系统错误,无法处理
    • Exception
      • RuntimeException:运行时异常
      • 其他Exception:检查型异常

2. 异常处理机制

  • try-catch-finally:

    try {// 可能抛出异常的代码
    } catch (异常类型1 e) {// 处理异常
    } catch (异常类型2 e) {// 处理异常
    } finally {// 无论是否异常都会执行的代码
    }
    
  • throws:声明方法可能抛出的异常

  • throw:手动抛出异常对象

四、集合框架

1. 主要接口

  • Collection
    • List:有序可重复
      • ArrayList:数组实现,查询快
      • LinkedList:链表实现,增删快
      • Vector:线程安全版ArrayList
    • Set:无序不可重复
      • HashSet:哈希表实现
      • TreeSet:红黑树实现,有序
      • LinkedHashSet:保持插入顺序
  • Map:键值对
    • HashMap:哈希表实现
    • TreeMap:红黑树实现,键有序
    • LinkedHashMap:保持插入顺序
    • Hashtable:线程安全版HashMap

2. 常用方法

  • Collection:
    • add()、remove()、contains()、size()、isEmpty()
  • Map:
    • put()、get()、remove()、containsKey()、keySet()、values()

五、IO流

1. 流分类

  • 按方向:
    • 输入流:InputStream、Reader
    • 输出流:OutputStream、Writer
  • 按处理单位:
    • 字节流:InputStream、OutputStream
    • 字符流:Reader、Writer

2. 常用流

  • 文件流:

    FileInputStreamFileOutputStreamFileReaderFileWriter
    
  • 缓冲流:

    BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter
    
  • 转换流:

    InputStreamReaderOutputStreamWriter
    
  • 对象流:

    ObjectInputStreamObjectOutputStream(序列化)
    

六、多线程

1. 线程创建

  • 继承Thread类:

    class MyThread extends Thread {public void run() {...}
    }
    
  • 实现Runnable接口:

    class MyRunnable implements Runnable {public void run() {...}
    }
    
  • 实现Callable接口(可返回结果):

    class MyCallable implements Callable<返回类型> {public 返回类型 call() throws Exception {...}
    }
    

2. 线程同步

  • synchronized关键字:

    • 同步方法:public synchronized void method() {...}
    • 同步代码块:synchronized(对象) {...}
  • Lock接口:

    Lock lock = new ReentrantLock();
    lock.lock();
    try {...}
    finally {lock.unlock();}
    

3. 线程通信

  • wait()、notify()、notifyAll()方法

七、Java新特性

1. Java 8

  • Lambda表达式:(参数) -> {表达式/代码块}

  • 函数式接口:@FunctionalInterface

  • Stream API:

    list.stream().filter(e -> e > 10).map(e -> e * 2).collect(Collectors.toList());
    
  • 默认方法:接口中可以包含实现的方法

  • 新的日期时间API:LocalDate、LocalTime、LocalDateTime

2. Java 11

  • 局部变量类型推断:var list = new ArrayList<String>();
  • 新的字符串方法:isBlank()lines()repeat()
  • HTTP Client API

八、常用工具类

1. 字符串

  • String:不可变字符序列
  • StringBuilder:可变字符序列,非线程安全
  • StringBuffer:可变字符序列,线程安全

2. 数学运算

  • Math类:abs()、sqrt()、pow()、random()等

3. 日期时间

  • Date(已过时)
  • Calendar
  • SimpleDateFormat
  • Java 8新日期API:LocalDate、LocalTime、LocalDateTime

4. 数组操作

  • Arrays类:sort()、binarySearch()、toString()、copyOf()

5. 包装类

  • 基本类型对应:Integer、Double、Boolean等
  • 自动装箱/拆箱

以上是Java基础的核心知识点集合,掌握这些内容可以为Java开发打下坚实基础。

http://www.xdnf.cn/news/5941.html

相关文章:

  • PNG转ico图标(支持圆角矩形/方形+透明背景)Python脚本 - 随笔
  • Java处理压缩文件的两种方式!!!!
  • python通过curl访问deepseek的API调用案例
  • 该如何备考社工考试?
  • 2025年中期大语言模型实力深度剖析
  • Windows系统配置WSL2及Cuda
  • 【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)
  • 【Python生活】如何构建一个跌倒检测的算法?
  • 快速排序、归并排序、计数排序
  • 2025.5.13总结
  • 使用bitNet架构
  • GBK与UTF-8编码问题(2)
  • 数据结构—(链表,栈,队列,树)
  • 腾讯优化DeepSeek的DeepEP通信框架:开启AI大模型训练新时代
  • 股指期货是什么?有啥特点?怎么用?
  • 鸿蒙 Core File Kit(文件基础服务)之简单使用文件
  • 常时间运行的程序 导致系统卡顿 自动监控系统CPU和内存利用率 自动选择 内存回收 软件重启 电脑重启
  • 养生:拥抱健康生活的有效之道
  • eward hacking 问题 强化学习钻空子
  • MQTT协议技术详解:深入理解物联网通信基础
  • 项目管理系统供应链:打造高效运营“强引擎”
  • vsomeip环境搭建保姆级教程
  • Python训练打卡Day23
  • Java jar包程序 启动停止脚本 shell bash
  • 数据分析预备篇---Pandas的Series
  • Easysearch 时序数据的基于时间范围的合并策略
  • 软考软件测评师——计算机网络
  • MySQL历史版本下载及安装配置教程
  • GPT 经验
  • javax.servlet.Filter 介绍-笔记