Java学习笔记

Java 学习笔记

一、Java 核心特性

1. 跨平台性:依托 JVM(Java 虚拟机) 实现,一次编写、到处运行。.java 源文件编译为.class 字节码文件,由不同系统的 JVM 解析执行。
2. 面向对象:三大核心特性——封装、继承、多态,万物皆对象。
3. 自动垃圾回收(GC):无需手动管理内存,JVM 自动回收不再被引用的对象内存。
4. 强类型语言:变量必须声明类型,类型转换严格(隐式/显式转换)。

二、基础语法

  1. 程序结构

Java 程序的入口是  main  方法,格式固定:

public class HelloWorld {
// main方法:程序入口
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}

  • 类名:与文件名一致,首字母大写(大驼峰命名)。
  • main 方法: public static void  修饰,参数为  String[] args 。
  1. 变量与数据类型
  • 基本数据类型(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 。
  1. 运算符
  • 算术运算符: + - * / %
  • 关系运算符: > < >= <= == !=
  • 逻辑运算符: && || !
  • 赋值运算符: = += -= *= /=

三、面向对象编程(OOP)

  1. 封装

将属性私有化,通过  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;
}

}

  1. 继承

通过  extends  关键字实现,子类继承父类的属性和方法(Java 单继承):

// 父类
public class Person {
public void eat() {
System.out.println("吃饭");
}
}

// 子类
public class Student extends Person {
// 子类可以重写父类方法
@Override
public void eat() {
System.out.println("学生吃饭");
}
}

  1. 多态

同一行为,不同对象表现出不同形态,需要满足 3 个条件:

  • 继承/实现
  • 方法重写
  • 父类引用指向子类对象

Person p = new Student();
p.eat(); // 输出:学生吃饭

四、常用核心类

  1. String 类

字符串不可变,常用方法:

String str = "Hello Java";
str.length(); // 获取长度
str.charAt(0); // 获取指定索引字符
str.substring(0, 5); // 截取子串
str.equals("hello java"); // 内容比较(不要用==)

  1. 集合框架

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 = new ArrayList<>();
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();
}
}

七、多线程

  1. 线程创建方式
  • 继承  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();
}

}

posted @ 2026-01-04 19:43  111阳  阅读(3)  评论(0)    收藏  举报