Cú pháp Java & Kiểu dữ liệu

Biến, primitives, reference, var, ép kiểu, String, hằng số — hiểu theo hướng memory layout và tư duy dưới tầng JVM.

10 bài · ~154 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    Biến và khai báo — cái tên gắn với một giá trị

    Hiểu biến trong Java từ cái đơn giản nhất (ngăn kéo có tên) đến phân biệt primitive vs reference, cơ chế copy, pass-by-value và var.

    ~16 phút
  2. 02

    Kiểu nguyên thuỷ — 8 loại, size, range, overflow và floating-point trap

    Đi sâu vào 8 kiểu primitive của Java: bit width, min/max range, default value, overflow wrap-around và vì sao 0.1 + 0.2 không bằng 0.3 trong Java (và mọi ngôn ngữ dùng IEEE 754).

    ~17 phút
  3. 03

    Kiểu tham chiếu — null, NPE, wrapper class và autoboxing

    Hiểu sâu về reference types trong Java: null là gì, NullPointerException xảy ra thế nào, wrapper class và autoboxing hoạt động ra sao, Integer Cache gây surprise gì, và khi nào dùng .equals() thay vì ==.

    ~18 phút
  4. 04

    Toán tử số học và so sánh — phép chia nguyên, modulo âm và bẫy ==

    Arithmetic, comparison và assignment trong Java: vì sao 5/2 ra 2 chứ không phải 2.5, modulo âm giữ dấu dividend, compound assignment ngầm narrowing cast, và vì sao không bao giờ so sánh String/Integer bằng ==.

    ~13 phút
  5. 05

    Toán tử logic và bitwise — short-circuit, cờ bit và thứ tự ưu tiên

    Vì sao && và || dừng sớm (short-circuit) và đó là pattern null-safe chuẩn của Java; bitwise/shift cho flags và bitmask; ternary cho gán có điều kiện; bảng operator precedence và quy tắc 'khi nghi ngờ, dùng ngoặc'.

    ~13 phút
  6. 06

    Ép kiểu — widening, narrowing, autoboxing và safe cast patterns

    Hiểu toàn bộ cơ chế type casting trong Java: widening tự động không mất data, narrowing cần cast tường minh có thể tràn, autoboxing/unboxing, upcasting/downcasting reference, ClassCastException, và pattern matching instanceof từ Java 16.

    ~16 phút
  7. 07

    String, Text Block và StringBuilder — xử lý text hiện đại trong Java

    Nắm vững 3 công cụ text của Java: String immutable, Text Block multi-line (Java 15+), và StringBuilder mutable. Hiểu khi nào concat trong loop gây O(n²) và cách dùng StringBuilder đúng chỗ.

    ~16 phút
  8. 08

    Hằng số và final — giá trị khắc trên đá

    final trên biến, parameter, method và class; static final cho hằng số UPPER_SNAKE_CASE; vì sao final reference không đồng nghĩa immutable object — và pattern immutable class hoàn chỉnh.

    ~13 phút
  9. 09

    Enum — tập giá trị cố định, type-safe thay cho magic number

    Vì sao static final int không type-safe và enum giải quyết thế nào: cú pháp, switch exhaustive, field và method trong enum, built-in methods như name()/values(), và pitfall kinh điển với ordinal().

    ~14 phút
  10. 10

    Mini-challenge: Máy tính BMI

    Viết chương trình Java tính chỉ số BMI và phân loại theo WHO — luyện Scanner nhập liệu, String.format xuất 2 chữ số thập phân, và enum có field với static factory method.

    ~18 phút