Java Foundations/Module 1 — Nhập môn & Tư duy lập trình: tổng quan
1/39
Bài 1 / 39~6 phútNhập môn & Tư duy lập trìnhMiễn phí lượt xem

Module 1 — Nhập môn & Tư duy lập trình: tổng quan

Từ 'Java là gì' tới chương trình đầu tiên chạy được — bytecode, JVM/JRE/JDK, Hello World, tư duy I-P-O, mini-challenge in lịch tháng.

TL;DR: Module 1 đưa bạn — người chưa từng viết Java — đi từ câu hỏi "Java là gì?" tới một chương trình Java thực sự chạy được trên máy của bạn. Dọc đường, bạn hiểu tại sao Java chạy mọi nơi không compile lại (bytecode + JVM), phân biệt được JVM/JRE/JDK để cài đúng thứ cần, giải thích được từng dòng trong HelloWorld.java, và dùng mô hình Input-Processing-Output để phân rã bài toán trước khi viết bất kỳ dòng code nào. Mini-challenge cuối module là bài kiểm tra độc lập đầu tiên.

Vì sao module này tồn tại

Hầu hết người mới học lập trình gặp cùng một vấn đề: họ chạy theo tutorial, copy-paste System.out.println("Hello World"), thấy nó in ra màn hình — nhưng không biết tại sao nó chạy được, và hoàn toàn bí khi đứng trước một bài toán mới không có code mẫu để nhìn theo.

Module này được thiết kế để không để bạn rơi vào bẫy đó. Thay vì dạy syntax trước, module dạy cơ chế (bytecode đi đâu, JVM làm gì) và tư duy (bài toán này cần input gì, xử lý ra sao, output đi đâu) — hai thứ vẫn còn giá trị sau 10 năm code chứ không chỉ khi vừa mới bắt đầu.

Sau module này bạn sẽ

  • Explain cơ chế bytecode trung gian và JVM giúp Java đạt Write Once Run Anywhere — giải thích được tại sao cùng một file .class chạy trên Windows, macOS, Linux mà không cần compile lại.
  • Distinguish JVM, JRE, JDK và chọn đúng cái cần để chạy, deploy hay viết code — không còn cài nhầm JRE khi cần JDK, hiểu rõ ba layer này khác nhau ở điểm nào.
  • Implement và chạy chương trình Java đầu tiên qua javac/java, giải thích vai trò từng dòng — không chỉ copy-paste được mà còn đọc được public class, static void main, String[] args và biết từng thứ đó có nghĩa gì.
  • Apply mô hình input-processing-output để phân rã bài toán thành sequence, selection, iteration — có một khung tư duy dùng được với mọi bài toán, không chỉ bài tập nhập môn.

Lộ trình module

flowchart TD
    A["00 Tong quan<br/>(bai nay)"] --> B["01 Java la gi?<br/>bytecode + WORA"]
    B --> C["02 JVM / JRE / JDK<br/>chon dung cai can"]
    C --> D["03 Cai moi truong<br/>JDK 21 + IntelliJ"]
    D --> E["04 Hello World<br/>giai thich tung dong"]
    E --> F["05 Tu duy I-P-O<br/>phan ra bai toan"]
    F --> G["06 Compile & Run<br/>javac, bytecode, .class"]
    G --> H["07 Mini-challenge<br/>in lich thang (doc lap)"]

Bài 01 — Java là gì? đặt nền móng khái niệm: bytecode là gì, JVM là gì, tại sao Java "Write Once, Run Anywhere". Đây là bài worked hoàn toàn — mọi ví dụ đều có giải thích chi tiết.

Bài 02 — JVM/JRE/JDK tách bạch ba khái niệm hay bị nhầm lẫn ngay từ đầu. Hiểu đúng ở đây tránh được cả loạt lỗi "sao máy tôi không compile được" về sau.

Bài 03 — Cài môi trường là bài thực hành: cài JDK 21 và IntelliJ IDEA, chạy java --version để xác nhận. Không có khái niệm mới, chỉ cần làm theo từng bước.

Bài 04 — Hello World là bài trọng tâm của nhóm đầu: bạn giải thích được từng dòng trong chương trình Java đơn giản nhất — public class, main, String[] args, System.out.println. Nhiều người biết viết Hello World nhưng không đọc được nó; bài này đảo lại thứ tự đó.

Từ bài 05 trở đi, hướng dẫn bắt đầu faded dần: bài 05 — Tư duy I-P-O cho bạn mô hình phân rã bài toán rồi yêu cầu tự áp dụng với ví dụ mới. Bài 06 — Compile & Run đào sâu vòng đời file .java.class → output, có gợi ý nhưng không dẫn tay từng bước.

Bài 07 — Mini-challenge là bài independent đầu tiên: bạn tự viết chương trình in lịch tháng hiện tại chỉ với mô tả yêu cầu. Không có code mẫu. Đây là bằng chứng bạn đã vượt qua module.

Yêu cầu trước khi bắt đầu

  • Máy tính (Windows, macOS, hoặc Linux) với quyền cài phần mềm — bài 03 sẽ hướng dẫn cài JDK 21 và IntelliJ IDEA từ đầu.
  • Sẵn sàng cài JDK 21 — bài 03 hướng dẫn từng bước, nhưng bạn cần kết nối internet và ~1 GB dung lượng trống.
  • Không cần biết lập trình trước. Không cần biết Java. Module 1 là điểm bắt đầu của toàn bộ track.

Cách học hiệu quả

  • Đừng bỏ qua bài 01-02 dù thấy "lý thuyết". Bytecode và JVM/JRE/JDK là khái niệm bạn sẽ gặp lại hàng trăm lần — hiểu đúng ngay từ đầu tiết kiệm rất nhiều thời gian debug sau này.
  • Chạy thật, không chỉ đọc. Mỗi bài từ 03 trở đi đều có command line hoặc code để chạy. Gõ tay thay vì copy-paste — tay nhớ lâu hơn mắt.
  • Đoán output trước khi chạy. Trước mỗi đoạn code, dừng lại 30 giây đoán xem nó in ra gì. Đây là thói quen quan trọng nhất khi học lập trình.
  • Mini-challenge là bắt buộc. Đừng bỏ qua bài 07 dù thấy khó. Cảm giác "bí" ở đó là bình thường — đó là lúc não đang xây schema thực sự, không phải đọc thụ động.

Bài đầu tiên: Java là gì? — Write Once, Run Anywhere

Bài này có giúp bạn hiểu bản chất không?

Hỏi đáp về bài này

Chưa có câu hỏi

Đặt câu hỏi

Có gì chưa rõ trong bài? Đặt câu hỏi đầu tiên — câu trả lời từ cộng đồng giúp bạn (và người sau).

Đặt câu hỏi đầu tiên