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 !!!
Chuyện về switch - case - công dụng thực tế
Theo knh nghiệm cá nhân thì nó nhìn gọn hơn thôi :))
relly - 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.
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
Bên C/C++ dùng số là để dịch switch
thành jump table
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;
Nhưng nếu bạn làm việc với Enum thì sẽ thấy switch case khá có ích
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ì.
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