CourseJavaLearn from zeroHọc miễn phí
← Quay về khóa học

Nền tảng bắt buộc

Java Core Basic cho người mới bắt đầu

Học Java từ cú pháp, class, method đến OOP, Collections, Lambda và Java I/O bằng ví dụ đơn giản, có project theo từng phase.

Sau khóa học, bạn có thể đọc hiểu code Java cơ bản, tự viết chương trình console có cấu trúc và sẵn sàng bước sang Spring Boot.

Phù hợp với

  • Người mới bắt đầu học lập trình từ số 0
  • Người muốn học Java trước khi sang Spring Boot
  • Người cần nền tảng OOP, Collections và Java I/O

Cần chuẩn bị

  • Biết sử dụng máy tính, trình duyệt và thao tác file cơ bản
  • Có laptop cài JDK và IDE như IntelliJ IDEA hoặc VS Code
  • Không cần biết lập trình trước, khóa học đi từ khái niệm đầu tiên

Kết quả đạt được

  • Nắm cú pháp Java và cấu trúc class
  • Hiểu OOP qua ví dụ dễ tiếp cận
  • Có project console để đưa vào CV

Study method

Cách học để không bị ngợp.

Mỗi khóa được thiết kế theo nhịp: hiểu khái niệm, làm bài tập nhỏ, áp dụng vào project và review lại bằng checklist.

Step 01

Xem bài học ngắn, ghi lại khái niệm bằng ví dụ của chính bạn

Step 02

Gõ lại code thay vì chỉ xem, sau đó đổi yêu cầu nhỏ để kiểm tra hiểu bài

Step 03

Hoàn thành từng phase project trước khi qua module tiếp theo

Step 04

Cuối tuần review lỗi sai, refactor tên biến, method và class cho dễ đọc

Syllabus chi tiết

Module, mục tiêu và bài tập sau từng bài.

Lesson nào cũng có mục tiêu học và bài thực hành cụ thể để người mới biết mình cần làm gì sau khi xem tài liệu.

01

Khởi động với Java

5 bài học

Thiết lập môi trường, hiểu cấu trúc chương trình Java và làm quen với biến, kiểu dữ liệu, output, method.

  1. 01

    Introduce and Setup Environment

    Mục tiêu: Cài JDK, IDE và chạy được chương trình Java đầu tiên.

    Bài tập: Tạo project Hello Java, in tên, tuổi và mục tiêu học của bạn.

  2. 02

    Structure of a Java class

    Mục tiêu: Hiểu class, main method, statement và cách chương trình bắt đầu chạy.

    Bài tập: Viết class StudentPrinter in thông tin một học viên.

  3. 03

    Data types

    Mục tiêu: Phân biệt primitive type, String và cách chọn kiểu dữ liệu phù hợp.

    Bài tập: Khai báo thông tin sản phẩm gồm tên, giá, số lượng, trạng thái còn hàng.

  4. 04

    Java Output

    Mục tiêu: Dùng print, println, printf để trình bày dữ liệu rõ ràng.

    Bài tập: In hóa đơn mini với format giá tiền và tổng tiền.

  5. 05

    Method

    Mục tiêu: Tách logic thành method có input, output và tên rõ nghĩa.

    Bài tập: Viết method tính điểm trung bình và xếp loại học lực.

02

OOP nền tảng

11 bài học

Học object, class, encapsulation, constructor, inheritance và cách chia trách nhiệm trong code Java.

  1. 01

    OOP in Java

    Mục tiêu: Hiểu object là gì và vì sao OOP giúp code dễ mở rộng.

    Bài tập: Thiết kế class Student có thuộc tính và hành vi cơ bản.

  2. 02

    Wrapper class

    Mục tiêu: Hiểu wrapper type và tình huống dùng với Collections.

    Bài tập: Chuyển đổi String input sang Integer, Double và xử lý lỗi nhập sai.

  3. 03

    Keyword - static

    Mục tiêu: Phân biệt field/method static và instance.

    Bài tập: Tạo StudentCounter đếm số lượng object đã tạo.

  4. 04

    Define the scope of variables

    Mục tiêu: Hiểu scope để tránh lỗi biến không tồn tại hoặc dùng sai nơi.

    Bài tập: Sửa một đoạn code cố tình đặt biến sai scope.

  5. 05

    Call a method in Java

    Mục tiêu: Gọi method giữa các object và truyền tham số đúng kiểu.

    Bài tập: Tạo CalculatorService và gọi từ class Main.

  6. 06

    Java Input

    Mục tiêu: Nhập dữ liệu với Scanner và kiểm soát input cơ bản.

    Bài tập: Viết menu nhập thông tin học viên từ bàn phím.

  7. 07

    String

    Mục tiêu: Xử lý chuỗi, so sánh chuỗi và dùng method String thông dụng.

    Bài tập: Chuẩn hóa họ tên: trim, viết hoa chữ cái đầu, kiểm tra email.

  8. 08

    Regex

    Mục tiêu: Dùng regex cơ bản để validate dữ liệu.

    Bài tập: Validate email, số điện thoại và mã học viên.

  9. 09

    Encapsulation

    Mục tiêu: Ẩn dữ liệu bằng private field, getter/setter và validation.

    Bài tập: Chặn điểm số ngoài khoảng 0-10 trong class Student.

  10. 10

    Constructor

    Mục tiêu: Khởi tạo object đúng trạng thái ngay từ đầu.

    Bài tập: Tạo nhiều constructor cho Student và Course.

  11. 11

    Inheritance

    Mục tiêu: Hiểu kế thừa và khi nào nên dùng thay vì copy code.

    Bài tập: Tạo Person, Student, Teacher với thuộc tính dùng chung.

03

OOP nâng cao và project phase

7 bài học

Đi sâu vào polymorphism, abstraction, final và áp dụng vào project quản lý học viên theo từng phase.

  1. 01

    Project - Phase 1

    Mục tiêu: Tạo model và menu đầu tiên cho project quản lý học viên.

    Bài tập: Tạo Student, Course, MainMenu và in danh sách mẫu.

  2. 02

    Project - Phase 2

    Mục tiêu: Thêm chức năng nhập và hiển thị dữ liệu.

    Bài tập: Thêm học viên từ bàn phím và in danh sách dạng bảng.

  3. 03

    Project - Phase 3

    Mục tiêu: Tách service layer để logic không dồn vào Main.

    Bài tập: Tạo StudentService với add, find, printAll.

  4. 04

    Polymorphism

    Mục tiêu: Hiểu override và cách object có nhiều hình thái khi chạy.

    Bài tập: Tạo nhiều loại user và override method getRoleName.

  5. 05

    Abstraction

    Mục tiêu: Dùng abstract class/interface để mô tả hợp đồng hành vi.

    Bài tập: Tạo Printable interface cho các object cần in thông tin.

  6. 06

    Keyword - final

    Mục tiêu: Biết dùng final cho biến, method, class đúng mục đích.

    Bài tập: Định nghĩa hằng số MAX_SCORE và thử bảo vệ method không cho override.

  7. 07

    Project - Phase 4

    Mục tiêu: Refactor project theo interface và service rõ trách nhiệm.

    Bài tập: Tách validation, printing và student management thành các class riêng.

04

Collections, Lambda và Java I/O

7 bài học

Làm việc với danh sách object, sắp xếp, lambda cơ bản và lưu dữ liệu bằng file.

  1. 01

    ArrayList

    Mục tiêu: Lưu nhiều object và thao tác thêm, sửa, xóa, tìm kiếm.

    Bài tập: Quản lý danh sách học viên bằng ArrayList.

  2. 02

    Sort Object

    Mục tiêu: Sắp xếp object theo tên, điểm hoặc ngày tạo.

    Bài tập: Sắp xếp học viên theo điểm giảm dần và tên tăng dần.

  3. 03

    [Advanced - Lambda] - Overview

    Mục tiêu: Hiểu lambda ở mức nhập môn để đọc được code hiện đại.

    Bài tập: Viết Comparator bằng lambda.

  4. 04

    [Advanced - Lambda] - Advanced sort

    Mục tiêu: Kết hợp nhiều tiêu chí sort rõ ràng.

    Bài tập: Sort theo trạng thái, điểm, sau đó tên.

  5. 05

    Project - Phase 5

    Mục tiêu: Hoàn thiện CRUD và tìm kiếm trong project.

    Bài tập: Thêm update/delete/findByKeyword cho StudentService.

  6. 06

    Java IO

    Mục tiêu: Đọc ghi file text để lưu dữ liệu đơn giản.

    Bài tập: Lưu danh sách học viên ra file và load lại khi mở app.

  7. 07

    Project - Phase 6

    Mục tiêu: Hoàn thiện project cuối khóa và README.

    Bài tập: Test toàn bộ menu, xử lý input sai và viết hướng dẫn chạy project.

Project cuối khóa

Student Management Console App

Ứng dụng quản lý học viên bằng Java console, áp dụng OOP, ArrayList, sort, validate input và đọc ghi file.

Yêu cầu sản phẩm

  • Thiết kế class rõ trách nhiệm
  • Thêm, sửa, xóa, tìm kiếm và sắp xếp dữ liệu
  • Lưu dữ liệu bằng Java I/O
  • README hướng dẫn chạy project

Tiêu chí đạt

  • Code chia class rõ trách nhiệm, không dồn toàn bộ vào Main
  • Có validate input và thông báo lỗi dễ hiểu
  • Có CRUD, tìm kiếm, sắp xếp và lưu dữ liệu
  • README mô tả chức năng, cách chạy và ảnh minh họa terminal

Tài liệu học tập

Checklist, bài tập và tài liệu đi kèm.

Các tài liệu này giúp người học tự kiểm tra, luyện tập và hoàn thiện project theo chuẩn dễ theo dõi.

Checklist

Java syntax checklist

Checklist cú pháp biến, method, class, constructor, if/else, loop.

Practice

OOP practice set

Bộ bài tập thiết kế class, encapsulation, inheritance và interface.

Project

Project README template

Mẫu README giúp trình bày project Java console chuyên nghiệp.

Next steps

Học xong nên làm gì tiếp?

Đừng học rời rạc. Mỗi khóa đều dẫn sang kỹ năng hoặc project kế tiếp trong lộ trình full-stack.

1

Học SQL căn bản để biết dữ liệu được lưu trong database như thế nào

2

Học Spring Boot để biến logic Java thành REST API

3

Ghép backend Java với frontend Next.js trong project course platform

Cần gì thì gọi Nghĩa
Mascot