Java 零基础学习教程

发布于:2025-03-20 ⋅ 阅读:(22) ⋅ 点赞:(0)

Java 零基础学习教程

1. Java 简介

1.1 Java 的历史

Java 由 Sun Microsystems 公司于 1995 年推出,最初是为嵌入式系统设计的。后来,Java 因其“一次编写,到处运行”的特性,迅速成为企业级应用开发的主流语言。

1.2 Java 的特点

  • 跨平台性:Java 程序可以在任何支持 Java 虚拟机(JVM)的平台上运行。
  • 面向对象:Java 是一种纯粹的面向对象编程语言。
  • 安全性:Java 提供了多层次的安全机制。
  • 多线程:Java 内置对多线程的支持。

1.3 Java 的应用领域

  • Web 开发(Spring、Hibernate)
  • 移动应用开发(Android)
  • 大数据处理(Hadoop、Spark)
  • 企业级应用(Java EE)

1.4 Java 开发环境搭建

  1. 安装 JDK:从 Oracle 官网下载并安装 Java Development Kit (JDK)。
  2. 配置环境变量:设置 JAVA_HOMEPATH 环境变量。
  3. 安装 IDE:推荐使用 IntelliJ IDEA 或 Eclipse。

2. Java 基础语法

2.1 第一个 Java 程序

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  • public class HelloWorld:定义一个公共类,类名必须与文件名一致。
  • public static void main(String[] args):程序的入口点。
  • System.out.println:输出内容到控制台。

2.2 数据类型

  • 基本数据类型int, double, char, boolean 等。
  • 引用数据类型String, 数组, 类, 接口等。

2.3 变量与常量

  • 变量int age = 25;
  • 常量final double PI = 3.14;

2.4 运算符

  • 算术运算符:+, -, *, /, %
  • 关系运算符:==, !=, >, <
  • 逻辑运算符:&&, ||, !

2.5 控制流程

  • if 语句
    if (condition) {
        // 代码块
    } else {
        // 代码块
    }
    
  • switch 语句
    switch (variable) {
        case value1:
            // 代码块
            break;
        case value2:
            // 代码块
            break;
        default:
            // 代码块
    }
    
  • 循环
    • for 循环:
      for (int i = 0; i < 10; i++) {
          // 代码块
      }
      
    • while 循环:
      while (condition) {
          // 代码块
      }
      
    • do-while 循环:
      do {
          // 代码块
      } while (condition);
      

3. 面向对象编程

3.1 类与对象

  • :类是对象的模板,定义了对象的属性和行为。
    class Dog {
        String name;
        int age;
    
        void bark() {
            System.out.println("Woof!");
        }
    }
    
  • 对象:对象是类的实例。
    Dog myDog = new Dog();
    myDog.name = "Buddy";
    myDog.age = 3;
    myDog.bark();
    

3.2 构造方法

  • 构造方法用于初始化对象。
    class Dog {
        String name;
        int age;
    
        Dog(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
    

3.3 继承

  • 继承允许一个类继承另一个类的属性和方法。
    class Animal {
        void eat() {
            System.out.println("Eating...");
        }
    }
    
    class Dog extends Animal {
        void bark() {
            System.out.println("Woof!");
        }
    }
    

3.4 多态

  • 多态允许子类对象被视为父类对象。
    Animal myDog = new Dog();
    myDog.eat();  // 调用的是 Dog 类的 eat 方法
    

3.5 抽象类与接口

  • 抽象类:不能实例化,可以包含抽象方法。
    abstract class Animal {
        abstract void makeSound();
    }
    
  • 接口:定义一组方法,类可以实现多个接口。
    interface Animal {
        void makeSound();
    }
    
    class Dog implements Animal {
        public void makeSound() {
            System.out.println("Woof!");
        }
    }
    

3.6 包与访问控制

  • :用于组织类和接口。
    package com.example;
    
  • 访问控制public, protected, private, default

4. Java 核心类库

4.1 字符串处理

  • String 类:
    String str = "Hello";
    System.out.println(str.length());
    
  • StringBuilderStringBuffer:用于可变字符串操作。

4.2 集合框架

  • List:有序集合,允许重复元素。
    List<String> list = new ArrayList<>();
    list.add("Apple");
    list.add("Banana");
    
  • Set:无序集合,不允许重复元素。
  • Map:键值对集合。
    Map<String, Integer> map = new HashMap<>();
    map.put("Apple", 1);
    map.put("Banana", 2);
    

4.3 异常处理

  • try-catch 块:
    try {
        int result = 10 / 0;
    } catch (ArithmeticException e) {
        System.out.println("Cannot divide by zero");
    }
    

4.4 输入输出流

  • 文件读写:
    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();
    }
    

4.5 多线程编程

  • 创建线程:
    class MyThread extends Thread {
        public void run() {
            System.out.println("Thread is running");
        }
    }
    
    MyThread t1 = new MyThread();
    t1.start();
    

5. Java 高级特性

5.1 泛型

  • 泛型类:
    class Box<T> {
        private T item;
    
        public void setItem(T item) {
            this.item = item;
        }
    
        public T getItem() {
            return item;
        }
    }
    

5.2 反射

  • 获取类的信息:
    Class<?> clazz = Class.forName("com.example.MyClass");
    

5.3 注解

  • 自定义注解:
    @interface MyAnnotation {
        String value();
    }
    

5.4 Lambda 表达式

  • 简化匿名内部类:
    List<String> list = Arrays.asList("a", "b", "c");
    list.forEach(s -> System.out.println(s));
    

5.5 流式 API

  • 流操作:
    List<String> list = Arrays.asList("a", "b", "c");
    list.stream().filter(s -> s.startsWith("a")).forEach(System.out::println);
    

6. Java 开发工具

6.1 Eclipse/IntelliJ IDEA 使用

  • 安装与配置
  • 创建项目与运行程序

6.2 Maven/Gradle 项目管理

  • 依赖管理
  • 构建项目

6.3 Git 版本控制

  • 基本命令:clone, commit, push, pull

7. 实战项目

7.1 简单计算器

  • 实现加减乘除功能

7.2 学生管理系统

  • 实现学生信息的增删改查

7.3 图书管理系统

  • 实现图书的借阅与归还

结语

通过本教程,你应该已经掌握了 Java 的基础知识,并能够进行简单的项目开发。继续深入学习 Java 的高级特性和框架,将有助于你在编程领域取得更大的进步。