Thẻ
#java-basics

Ngày 10 của 99 Ngày Java: khai báo method với tham số và giá trị trả về, overloading — trùng tên khác chữ ký, sự thật đằng sau "Java luôn pass-by-value" (vì sao sửa mảng thì thấy mà gán lại thì không), và phạm vi biến local.

Ngày 09 của 99 Ngày Java: vì sao String bất biến và mọi method đều trả chuỗi mới, String pool và bẫy kinh điển equals vs ==, hộp đồ nghề method hay dùng (length, substring, strip, split…), nối chuỗi bằng + và bẫy hiệu năng trong vòng lặp.

Ngày 08 của 99 Ngày Java: khai báo & khởi tạo mảng, chỉ số từ 0 và ArrayIndexOutOfBoundsException, duyệt bằng for/for-each, mảng 2 chiều & răng cưa, hộp đồ nghề java.util.Arrays — và bẫy tham chiếu: gán mảng không phải là copy.

Ngày 07 của 99 Ngày Java: for khi biết số lần, while/do-while khi lặp theo điều kiện, break & continue lái dòng chảy, label cho vòng lặp lồng nhau — và 3 cái bẫy: dấu chấm phẩy thừa, lặp vô hạn, off-by-one.

Ngày 06 của 99 Ngày Java: if–else if chạy nhánh đúng đầu tiên rồi dừng, guard clause dẹp if lồng nhau, switch cổ điển với bẫy fall-through và switch expression đời mới với ->, yield, exhaustiveness.

Ngày 05 của 99 Ngày Java: widening tự động vs narrowing phải cast tường minh, cast cắt chứ không làm tròn, char chỉ là mã Unicode, và 3 cái bẫy ép kiểu gặp hoài trong code thật.

Ngày 04 của 99 Ngày Java: toán tử số học và cú lừa chia nguyên, ++ prefix vs postfix, logic short-circuit chống NPE, toán tử 3 ngôi và quy tắc thêm ngoặc khi nghi ngờ độ ưu tiên.

Ngày 03 của 99 Ngày Java: biến là gì, thuộc mặt 8 kiểu dữ liệu nguyên thủy, giá trị mặc định của field vs biến local, và overflow — khi chiếc hộp int tràn về số âm.
