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 (变量) {case 值1: ... 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:保持插入顺序
- List:有序可重复
- 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. 常用流
-
文件流:
FileInputStream、FileOutputStream、FileReader、FileWriter
-
缓冲流:
BufferedInputStream、BufferedOutputStream、BufferedReader、BufferedWriter
-
转换流:
InputStreamReader、OutputStreamWriter
-
对象流:
ObjectInputStream、ObjectOutputStream(序列化)
六、多线程
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开发打下坚实基础。