Chuyện về switch - case - công dụng thực tế

Các topic đã post sẵn không trả lời được nên mình mạnh dạn hỏi thử :<
Mình khá thắc mắc nó được dùng trong trường hợp thế nào, nó hơn if else chỗ nào ạ!
Có nhiều chỗ dạy nhưng chỉ dừng ở cách nó hoạt động chứ ko có vd dùng trong thực tế. Xin cám ơn !!!

Theo knh nghiệm cá nhân thì nó nhìn gọn hơn thôi :))

5 Likes

relly :smiley: - tưởng nó sẽ giúp chương trình chạy nhanh hơn chứ :v - tại tò mò, nó kém hơn if, nó ko so sánh được đa phần toán so sánh nữa :3

switch case dùng được với int, short, byte, char, String,… các kiểu số nguyên. Không thể dùng với double, float, boolean… còn if else thì múc hết.
dùng switch case khi bạn có 3 câu if trở lên. và cũng tuỳ vào trường hợp bạn dùng nữa.

2 Likes

switch-case mình chỉ thấy lợi hơn if-else ở chỗ nó nhìn gọn hơn, đẹp hơn, dễ bảo trì, … đặc biệt khi có nhiều trường hợp lựa chọn. ngoài ra mình chưa thấy nó hơn if-else ở điểm nào khác :sweat_smile:

3 Likes

Bên C/C++ dùng số là để dịch switch thành jump table :smiley:

5 Likes

1 điểm lợi nữa là sw-c hỗ trợ fall through, nên có nhiều hướng để code hơn, ví dụ:

if(case1)
{
    action1();
    action2();
}
else if(case2)
    action2();
case1:
    action1();
case2:
    action2();
    break;
5 Likes

Nhưng nếu bạn làm việc với Enum thì sẽ thấy switch case khá có ích :slight_smile:

4 Likes

Thỉnh thoảng mình cần dùng if else
Thỉnh thoảng mình cần dùng switch case
Thỉnh thoảng mình thích dùng if else
Thỉnh thoảng mình thích dùng switch case

So sánh hơn thua không có ý nghĩa gì.

6 Likes

Switch case mang ý nghĩa là handle tất cả các branch. Trong khi if chỉ handle 1 vài branch. Có vài ngôn ngữ, hay là linter thì có báo warning hoặc error luôn nếu switch k handle hết case

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?