Java编程学习笔记

1. Java 简介

  • Java 是什么:Java 是一种面向对象的编程语言,具有跨平台、高性能、安全性高等特点。

  • Java 的特点

    • 跨平台(Write Once, Run Anywhere)。

    • 自动内存管理(垃圾回收机制)。

    • 丰富的类库和框架支持。

  • Java 的应用领域

    • 后端开发(Spring、Spring Boot)。

    • 移动开发(Android)。

    • 大数据(Hadoop、Spark)。

    • 桌面应用(JavaFX)。


2. Java 开发环境

  • JDK(Java Development Kit):Java 开发工具包,包含编译器(javac)、运行时环境(JRE)等。

  • JRE(Java Runtime Environment):Java 运行时环境,用于运行 Java 程序。

  • IDE(集成开发环境)

    • IntelliJ IDEA

    • Eclipse

    • NetBeans


3. Java 基础语法

(1)数据类型

  • 基本数据类型

    • 整数:byteshortintlong

    • 浮点数:floatdouble

    • 字符:char

    • 布尔:boolean

  • 引用数据类型

    • 类、接口、数组、字符串(String

(2)变量与常量

  • 变量

    java

    复制

    int age = 25;
    String name = "Alice";
  • 常量(使用 final 关键字):

    java

    复制

    final double PI = 3.14159;

(3)运算符

  • 算术运算符:+-*/%

  • 关系运算符:==!=><>=<=

  • 逻辑运算符:&&||!

  • 赋值运算符:=+=-=

(4)控制语句

  • 条件语句

    java

    复制

    if (condition) {
        // 代码块
    } else if (condition) {
        // 代码块
    } else {
        // 代码块
    }
  • 循环语句

    java

    复制

    for (int i = 0; i < 10; i++) {
        // 代码块
    }
    
    while (condition) {
        // 代码块
    }
    
    do {
        // 代码块
    } while (condition);
  • switch 语句

    java

    复制

    switch (variable) {
        case value1:
            // 代码块
            break;
        case value2:
            // 代码块
            break;
        default:
            // 代码块
    }

4. 面向对象编程(OOP)

(1)类与对象

  • :定义对象的模板。

    java

    复制

    class Dog {
        String name;
        int age;
    
        void bark() {
            System.out.println("Woof!");
        }
    }
  • 对象:类的实例。

    java

    复制

    Dog myDog = new Dog();
    myDog.name = "Buddy";
    myDog.age = 3;
    myDog.bark();

(2)构造方法

  • 用于初始化对象。

    java

    复制

    class Dog {
        String name;
        int age;
    
        Dog(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }

(3)继承

  • 子类继承父类的属性和方法。

    java

    复制

    class Animal {
        void eat() {
            System.out.println("Eating...");
        }
    }
    
    class Dog extends Animal {
        void bark() {
            System.out.println("Woof!");
        }
    }

(4)多态

  • 同一个方法在不同对象中有不同的实现。

    java

    复制

    Animal myDog = new Dog();
    myDog.eat(); // 调用 Dog 类的 eat 方法

(5)封装

  • 使用访问修饰符(privateprotectedpublic)控制属性和方法的访问权限。

    java

    复制

    class Dog {
        private String name;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

(6)抽象类与接口

  • 抽象类

    java

    复制

    abstract class Animal {
        abstract void makeSound();
    }
  • 接口

    java

    复制

    interface Animal {
        void makeSound();
    }

5. 异常处理

  • try-catch-finally

    java

    复制

    try {
        // 可能抛出异常的代码
    } catch (Exception e) {
        // 异常处理
    } finally {
        // 无论是否发生异常都会执行的代码
    }
  • 自定义异常

    java

    复制

    class MyException extends Exception {
        MyException(String message) {
            super(message);
        }
    }

6. 集合框架

  • 常用集合类

    • ArrayList:动态数组。

    • LinkedList:链表。

    • HashMap:键值对集合。

    • HashSet:无序且不重复的集合。

  • 示例

    java

    复制

    List<String> list = new ArrayList<>();
    list.add("Java");
    list.add("Python");
    
    Map<String, Integer> map = new HashMap<>();
    map.put("Alice", 25);
    map.put("Bob", 30);

7. 输入输出(I/O)

  • 文件读写

    java

    复制

    try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

8. 多线程

  • 创建线程

    java

    复制

    class MyThread extends Thread {
        public void run() {
            System.out.println("Thread is running");
        }
    }
    
    MyThread t = new MyThread();
    t.start();
  • 实现 Runnable 接口

    java

    复制

    class MyRunnable implements Runnable {
        public void run() {
            System.out.println("Thread is running");
        }
    }
    
    Thread t = new Thread(new MyRunnable());
    t.start();

9. 常用工具类

  • String:字符串操作。

  • Math:数学运算。

  • Arrays:数组操作。

  • Collections:集合操作。


10. 学习资源

  • 书籍

    • 《Java 核心技术》

    • 《Effective Java》

  • 网站

    • Oracle 官方文档

    • 菜鸟教程

  • 实践

    • LeetCode

    • GitHub 开源项目

你可能感兴趣的