Java学习笔记
Java 学习笔记
一、Java 核心特性
1. 跨平台性:依托 JVM(Java 虚拟机) 实现,一次编写、到处运行。.java 源文件编译为.class 字节码文件,由不同系统的 JVM 解析执行。
2. 面向对象:三大核心特性——封装、继承、多态,万物皆对象。
3. 自动垃圾回收(GC):无需手动管理内存,JVM 自动回收不再被引用的对象内存。
4. 强类型语言:变量必须声明类型,类型转换严格(隐式/显式转换)。
二、基础语法
- 程序结构
Java 程序的入口是 main 方法,格式固定:
public class HelloWorld {
// main方法:程序入口
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
- 类名:与文件名一致,首字母大写(大驼峰命名)。
- main 方法: public static void 修饰,参数为 String[] args 。
- 变量与数据类型
- 基本数据类型(8 种):
类型 占用空间 示例值
byte 1 字节 byte b = 10
short 2 字节 short s = 100
int 4 字节 int i = 1000
long 8 字节 long l = 100000L
float 4 字节 float f = 3.14F
double 8 字节 double d = 3.1415
char 2 字节 char c = 'A'
boolean - boolean flag = true - 引用数据类型:类、接口、数组,默认值为 null 。
- 运算符
- 算术运算符: + - * / %
- 关系运算符: > < >= <= == !=
- 逻辑运算符: && || !
- 赋值运算符: = += -= *= /=
三、面向对象编程(OOP)
- 封装
将属性私有化,通过 getter/setter 方法访问和修改:
public class Student {
// 私有属性
private String name;
private int age;
// getter方法
public String getName() {
return name;
}
// setter方法
public void setName(String name) {
this.name = name;
}
}
- 继承
通过 extends 关键字实现,子类继承父类的属性和方法(Java 单继承):
// 父类
public class Person {
public void eat() {
System.out.println("吃饭");
}
}
// 子类
public class Student extends Person {
// 子类可以重写父类方法
@Override
public void eat() {
System.out.println("学生吃饭");
}
}
- 多态
同一行为,不同对象表现出不同形态,需要满足 3 个条件:
- 继承/实现
- 方法重写
- 父类引用指向子类对象
Person p = new Student();
p.eat(); // 输出:学生吃饭
四、常用核心类
- String 类
字符串不可变,常用方法:
String str = "Hello Java";
str.length(); // 获取长度
str.charAt(0); // 获取指定索引字符
str.substring(0, 5); // 截取子串
str.equals("hello java"); // 内容比较(不要用==)
- 集合框架
Java 集合分为 Collection 和 Map 两大类:
- Collection:存储单个元素
- List:有序可重复,如 ArrayList 、 LinkedList
- Set:无序不可重复,如 HashSet 、 TreeSet
- Map:存储键值对,如 HashMap 、 TreeMap
import java.util.ArrayList;
import java.util.List;
public class ListDemo {
public static void main(String[] args) {
List
list.add("Java");
list.add("Python");
System.out.println(list.get(0)); // 输出:Java
}
}
五、异常处理
捕获程序运行时的错误,格式: try-catch-finally
try {
// 可能出现异常的代码
int a = 10 / 0;
} catch (ArithmeticException e) {
// 捕获异常
e.printStackTrace();
} finally {
// 无论是否异常,都会执行
System.out.println("程序结束");
}
六、IO 流
用于读写文件,分为 字节流 和 字符流:
- 字节流: InputStream 、 OutputStream (读写所有文件)
- 字符流: Reader 、 Writer (读写文本文件)
import java.io.FileWriter;
import java.io.IOException;
public class IODemo {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("test.txt");
fw.write("Hello Java IO");
fw.close();
}
}
七、多线程
- 线程创建方式
- 继承 Thread 类
public class MyThread extends Thread {
@Override
public void run() {
System.out.println("线程执行");
}
public static void main(String[] args) {
MyThread t = new MyThread();
t.start(); // 启动线程
}
}
- 实现 Runnable 接口(推荐,避免单继承限制)
public class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("线程执行");
}
public static void main(String[] args) {
Thread t = new Thread(new MyRunnable());
t.start();
}
}

浙公网安备 33010602011771号