Em xin chào anh chị,
Ở trong trường thầy cô bảo switch case chỉ cho phép so sánh bằng, em đọc trên mạng cũng bảo vậy. Và đây là code java:
// LỖI
int BMI = 40;
switch(BMI) {
case < 18:
System.out.println("quá gầy");
break;
case < 25 :
System.out.println("Bình thường");
break;
case < 30 :
System.out.println("Béo phì");
break;
default:
System.out.println("Béo phì nặng");
break;
}
Java sẽ báo lỗi đoạn code trên.
Nhưng trong javascript có thể dùng trick để so sánh với boolean
// KHÔNG LỖI
switch (true) {
case (BMI < 18):
console.log("Quá gầy");
break;
case (BMI < 25):
console.log("Bình thường");
break;
case (BMI < 30):
console.log("Béo phì");
break;
default:
console.log("Béo phì nặng");
}
Trong C# version 7.3 thì lại dùng switch case với biểu thức logic như ý muốn mà không cần trick như javascript
// KHÔNG LỖI
int BMI = 23;
switch(BMI) {
case < 18:
Console.WriteLine("quá gầy");
break;
case < 25 :
Console.WriteLine("Bình thường");
break;
case < 30 :
Console.WriteLine("Béo phì");
break;
default:
Console.WriteLine("Béo phì nặng");
break;
}
Vậy cho em hỏi định nghĩa switch case cuối cùng như thế nào mới đúng. Em cảm ơn.