OLHub

Điều kiện & Vòng lặp

if/else, switch expression, while, for, for-each, break/continue — hiểu cơ chế rẽ nhánh và lặp ở cấp bytecode, chọn đúng cấu trúc cho từng bài toán.

7 bài · ~124 phútMiễn phí

Nội dung

Danh sách bài học

  1. 01

    if / else / else if — rẽ nhánh theo điều kiện

    Hiểu if/else trong Java từ cú pháp đến cơ chế short-circuit, dangling-else, ternary operator, và vì sao nested if sâu là dấu hiệu cần refactor.

    ~18 phút
  2. 02

    switch — từ statement cổ điển đến expression hiện đại

    Phân biệt switch statement (có fall-through, break) và switch expression (Java 14+, an toàn hơn, trả giá trị). Hiểu cơ chế tableswitch / lookupswitch ở bytecode và pattern matching Java 21.

    ~20 phút
  3. 03

    while và do-while — lặp khi chưa biết trước số lần

    Phân biệt while (kiểm tra trước) và do-while (kiểm tra sau), cơ chế bytecode của loop, infinite loop có chủ đích, và vì sao do-while hiếm khi là lựa chọn đúng.

    ~16 phút
  4. 04

    Vòng lặp `for` — đếm có chủ đích

    Cú pháp for 3 phần init/condition/update, scope của biến counter, duyệt mảng truyền thống, off-by-one bugs, và những tối ưu JIT bạn vô tình bật/tắt.

    ~18 phút
  5. 05

    `for-each` — duyệt collection không cần index

    Enhanced for từ Java 5, cơ chế Iterable/Iterator, khi nào nó tương đương for cổ điển và khi nào bạn vẫn cần index, ConcurrentModificationException.

    ~16 phút
  6. 06

    `break` và `continue` — điều khiển luồng bên trong vòng lặp

    break thoát loop sớm, continue skip sang vòng kế, labeled break/continue cho nested loop. Khi nào dùng, khi nào tránh và vì sao nhiều team cấm labeled.

    ~14 phút
  7. 07

    Mini-challenge: FizzBuzz với switch expression

    Bài tập khép lại Module 3 — viết FizzBuzz kết hợp for, if/else, switch expression để rèn tư duy chọn cấu trúc điều khiển phù hợp.

    ~22 phút