前言

Java 是全球使用最广泛的编程语言之一,跨平台、安全稳定、就业面广,几乎是所有计算机专业学生的必修课。无论是课程设计、后端开发、安卓开发,还是大数据、嵌入式领域,Java 都占据着不可替代的地位。

很多同学初学 Java 时容易陷入语法杂乱、概念抽象、不知道怎么写项目的困境。本文用最通俗、最系统、最适合新手的方式,从 Java 环境搭建、基础语法、面向对象核心,到一个可直接运行的学生管理系统实战项目,全程由浅入深,零基础也能轻松学会,可直接作为课程设计报告、学习笔记、技术博客使用。


一、Java 语言概述

1.1 什么是 Java

Java 是一门面向对象、跨平台、强类型的高级编程语言,由 Sun 公司(后被 Oracle 收购)在 1995 年推出。

一句最核心特点:一次编写,到处运行(Write Once, Run Anywhere)。依靠 JVM(Java 虚拟机)实现跨平台。

1.2 Java 的三大版本

  • Java SE(标准版):桌面程序、基础语法(本课重点)
  • Java EE(企业版):Web 开发、后端服务、电商系统
  • Java ME(微型版):嵌入式、移动开发(现在较少用)

1.3 Java 应用场景

  • 后端服务开发(SpringBoot)
  • 安卓 APP 开发
  • 大数据开发(Hadoop / Spark)
  • 桌面软件(Java Swing / JavaFX)
  • 银行、金融、电商等高并发系统

二、Java 开发环境搭建

2.1 JDK、JRE、JVM 区别

  • JVM:Java 虚拟机,负责运行字节码(.class)
  • JRE:Java 运行环境,包含 JVM + 核心类库
  • JDK:Java 开发工具包,包含 JRE + 编译器 + 调试工具

开发必须装 JDK。

2.2 环境搭建步骤

  1. 下载并安装 JDK 8 / 11 / 17
  2. 配置环境变量:JAVA_HOME、Path
  3. 测试是否成功:
java -version
javac -version

出现版本号即成功。

2.3 第一个 Java 程序

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}
  • 编译:javac HelloWorld.java
  • 运行:java HelloWorld

三、Java 基础语法(必学核心)

3.1 变量与数据类型

基本数据类型(8 种)

  • 整数:byte、short、int、long
  • 浮点:float、double
  • 字符:char
  • 布尔:boolean

引用数据类型

String、类、接口、数组、集合等。

示例:

int age = 20;
double score = 90.5;
String name = "张三";
boolean isPass = true;

3.2 运算符

  • 算术:+ - * / %
  • 关系:> < >= <= == !=
  • 逻辑:&& || !
  • 赋值:= += -= *= /=

3.3 流程控制

1)选择结构

if (score >= 60) {
    System.out.println("及格");
} else {
    System.out.println("不及格");
}

java

运行

switch (level) {
    case 1: System.out.println("优秀"); break;
    case 2: System.out.println("良好"); break;
    default: break;
}

2)循环结构

// for 循环
for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

// while 循环
int i = 1;
while (i <= 10) {
    i++;
}

3.4 数组

int[] arr = {10, 20, 30};
System.out.println(arr[0]);

3.5 方法(函数)

public static int add(int a, int b) {
    return a + b;
}

四、Java 面向对象(OOP)核心

4.1 什么是面向对象

把一切看成对象,对象有属性行为。面向对象三大特征:封装、继承、多态

4.2 类与对象

  • 类:模板(如 Student)
  • 对象:具体实例(如 张三、李四)

示例:

public class Student {
    // 属性
    String name;
    int age;
    int id;

    // 方法
    public void study() {
        System.out.println(name + " 在学习");
    }
}

4.3 封装

把属性私有化,提供 get/set 方法访问。

private String name;

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

4.4 继承

extends 关键字,提高代码复用。

public class Person { ... }

public class Student extends Person { ... }

4.5 多态

父类引用指向子类对象,提高扩展性。

Person p = new Student();

4.6 构造方法

用于创建对象时初始化。

public Student(String name, int age) {
    this.name = name;
    this.age = age;
}

五、Java 常用 API 与集合(必学)

5.1 String 常用方法

str.length();
str.equals();
str.indexOf();
str.substring();
str.split();

5.2 集合框架(重点)

  • ArrayList:动态数组,查询快
  • LinkedList:链表,增删快
  • HashMap:键值对存储

示例:

import java.util.ArrayList;

public class Test {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        System.out.println(list.get(0));
    }
}

六、Java 实战项目:学生管理系统(控制台版)

6.1 项目功能

  • 添加学生
  • 删除学生
  • 修改学生信息
  • 查询所有学生
  • 退出系统

6.2 项目结构

  1. Student 类(封装学生信息)
  2. StudentManager 类(业务逻辑)
  3. Main 类(程序入口)

6.3 完整代码

1)Student.java

public class Student {
    private int id;
    private String name;
    private int age;

    public Student() {}

    public Student(int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int getId() { return id; }
    public void setId(int id) { this.id = id; }

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

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }

    @Override
    public String toString() {
        return "学号:" + id + ",姓名:" + name + ",年龄:" + age;
    }
}

2)StudentManager.java

import java.util.ArrayList;
import java.util.Scanner;

public class StudentManager {
    private ArrayList<Student> list = new ArrayList<>();
    private Scanner sc = new Scanner(System.in);

    public void start() {
        while (true) {
            System.out.println("===== 学生管理系统 =====");
            System.out.println("1. 添加学生");
            System.out.println("2. 删除学生");
            System.out.println("3. 修改学生");
            System.out.println("4. 查询所有学生");
            System.out.println("5. 退出");
            System.out.print("请输入操作:");
            int choice = sc.nextInt();

            switch (choice) {
                case 1: addStudent(); break;
                case 2: deleteStudent(); break;
                case 3: updateStudent(); break;
                case 4: showAll(); break;
                case 5: System.out.println("退出成功!"); return;
                default: System.out.println("输入错误!");
            }
        }
    }

    public void addStudent() {
        System.out.print("输入学号:");
        int id = sc.nextInt();
        System.out.print("输入姓名:");
        String name = sc.next();
        System.out.print("输入年龄:");
        int age = sc.nextInt();

        list.add(new Student(id, name, age));
        System.out.println("添加成功!");
    }

    public void deleteStudent() {
        System.out.print("输入要删除的学号:");
        int id = sc.nextInt();
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).getId() == id) {
                list.remove(i);
                System.out.println("删除成功!");
                return;
            }
        }
        System.out.println("未找到该学生!");
    }

    public void updateStudent() {
        System.out.print("输入要修改的学号:");
        int id = sc.nextInt();
        for (Student s : list) {
            if (s.getId() == id) {
                System.out.print("新姓名:");
                s.setName(sc.next());
                System.out.print("新年龄:");
                s.setAge(sc.nextInt());
                System.out.println("修改成功!");
                return;
            }
        }
        System.out.println("未找到学生!");
    }

    public void showAll() {
        if (list.isEmpty()) {
            System.out.println("暂无学生!");
            return;
        }
        for (Student s : list) {
            System.out.println(s);
        }
    }
}

3)Main.java

public class Main {
    public static void main(String[] args) {
        new StudentManager().start();
    }
}

6.4 项目运行效果

  • 菜单展示
  • 增删改查全部可用
  • 控制台清晰易懂
  • 可直接用于课程设计

七、Java 学习路线(最适合学生)

  1. Java 基础语法
  2. 面向对象
  3. 集合框架
  4. IO 流
  5. 多线程
  6. 网络编程
  7. MySQL 数据库
  8. JDBC
  9. SpringBoot 后端开发

八、Java 常见面试题与易错点

  1. == 和 equals 区别== 比较地址,equals 比较内容。

  2. String 为什么不可变?安全、高效、线程安全、常量池复用。

  3. ArrayList 和 LinkedList 区别ArrayList 查询快,LinkedList 增删快。

  4. 重写与重载的区别重载:同一个类,方法名相同参数不同重写:子类重写父类方法

  5. 接口和抽象类区别接口是规范,抽象类是模板。

九、总结

Java 是一门非常适合入门、就业、做课程设计的语言。它语法规范、面向对象思想清晰、生态极其强大。

本文从 Java 基础、环境搭建、核心语法、面向对象,到一个完整可运行的学生管理系统,全部覆盖,零基础也能直接跟着写、直接跑。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐