Java 基础入门到实战:Java 核心语法 + 面向对象 + 实战项目
前言
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 环境搭建步骤
- 下载并安装 JDK 8 / 11 / 17
- 配置环境变量:JAVA_HOME、Path
- 测试是否成功:
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 项目结构
- Student 类(封装学生信息)
- StudentManager 类(业务逻辑)
- 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 学习路线(最适合学生)
- Java 基础语法
- 面向对象
- 集合框架
- IO 流
- 多线程
- 网络编程
- MySQL 数据库
- JDBC
- SpringBoot 后端开发
八、Java 常见面试题与易错点
-
== 和 equals 区别== 比较地址,equals 比较内容。
-
String 为什么不可变?安全、高效、线程安全、常量池复用。
-
ArrayList 和 LinkedList 区别ArrayList 查询快,LinkedList 增删快。
-
重写与重载的区别重载:同一个类,方法名相同参数不同重写:子类重写父类方法
-
接口和抽象类区别接口是规范,抽象类是模板。
九、总结
Java 是一门非常适合入门、就业、做课程设计的语言。它语法规范、面向对象思想清晰、生态极其强大。
本文从 Java 基础、环境搭建、核心语法、面向对象,到一个完整可运行的学生管理系统,全部覆盖,零基础也能直接跟着写、直接跑。
更多推荐



所有评论(0)