Trang chủ > Javascript cơ bản
Lý thuyết
Mục tiêu
Sinh viên hiểu về lệnh switch...case
và cách sử dụng nó trong bài tập thực tế.
Tổng quan
Bạn có thể dùng nhiều lệnh if...else…if , như đã cung cấp ở phần trước, để thực hiện 1 nhánh với nhiều lối đi. Tuy nhiên điều đó không phải là giải pháp tốt nhất, đặc biệt là khi tất cả các nhánh phụ thuộc vào giá trị của một biến duy nhất.
if(x == 5){
//do something
} else if (x == 7) {
//do something else
} else if (x == 12) {
//do something different
} else if (x = 50) {
//do something yet more different
} else {
//do something completely different
}
Tuy nhiên ở đây mỗi trường hợp xác định bằng một lệnh điều kiện, bạn có thể sử dụng lệnh switch...case
, lệnh mà dễ đọc và hiểu hơn.
switch...case
Ví dụ lệnh trước có thể được rõ ràng hơn với lệnh switch
như sau đây:
switch(x){
case 5:
//do something
break;
case 7:
//do something else
break;
case 12:
//do something different
break;
case 50:
//do something yet more different
break;
default:
//do something completely different
}
Kiểu của biểu thức là trả về giá trị của biến x
có thể một trong các kiểu char
, byte
, short
, int
, Character
, Byte
, Short
, Integer
, String
hoặc enum
. Hãy chú ý từ khóa break
, nó buộc lệnh switch...case
dừng lại. Nếu không có nó, việc này chỉ được chấp nhận khi case
đó không có bất kỳ một lệnh nào, ngược lại, lệnh case
đó sẽ bị báo lỗi cú pháp. Chúng ta sẽ nói về lệnh break
trong một khóa phía sau về các lệnh rẽ nhánh.
Chúng ta hãy nhìn vào phương thức cho thấy lợi ích của lệnh switch
:
switch(n + 1){
case 1:
console.log("case 1: " + n);
break;
case 2:
console.log("case 2: " + n);
break;
default:
console.log("default: " + n);
break;
}
Và như mệnh đề else
trong lệnh if
, mệnh đề default
không bắt buộc trong lệnh switch
nếu nó không cần thiết cho logic chương trình:
switch(n + 1){
case 1:
console.log("case 1: " + n);
break;
case 2:
console.log("case 2: " + n);
}
Switch với nhiều trường hơp và có cũng cách sử lý
Có nhiều trường hợp một phạm vi không phải là giải pháp phù hợp, nhưng bạn cần áp dụng cùng một thực thi cho nhiều giá trị. Đây là nơi mà câu lệnh chuyển đổi có thể rất tiện dụng.
Thay vì tạo một câu lệnh if lộn xộn với nhiều đánh giá biểu thức, bạn có thể 'xếp chồng' các trường hợp.
Đây là một biến thể, tất cả đều rất đơn giản, trong ngày của ví dụ trong tuần. Ở đây tôi trình bày cách bạn có thể sử dụng câu lệnh chuyển đổi trong ứng dụng lịch.
Vi dụ:
switch (expr) {
case 'Oranges':
console.log('Oranges are $0.59 a pound.');
break;
case 'Apples':
case 'Papayas':
console.log('Apples and Papayas are $2.79 a pound.');
break;
default:
console.log('Sorry, we are out of ' + expr + '.');
}
Bài tập 1
Cho 1 số từ 0 đến 6. Viết chương trình để in ra thứ trong tuần
number: 0 => Thứ trong tuần: Sunday
number: 1 => Thứ trong tuần: Monday
number: 2 => Thứ trong tuần: Tuesday
number: 3 => Thứ trong tuần: Wednesday
number: 4 => Thứ trong tuần: Thursday
number: 5 => Thứ trong tuần: Friday
number: 6 => Thứ trong tuần: Saturday
- Ví dụ:
- Cho number = 0; in ra: Sunday
- Cho number = 4; in ra: Thursday
- Cho number = 6; in ra: Saturday
- Đầu vào: 1 số từ 0 đến 6
- Đầu ra: In ra thứ trong tuần
Bài tập 2
Cho điểm 5 môn Physics, Chemistry, Biology, Mathematics and Computer. Tính toán điểm trung bình (%) và in Grade (cấp) theo bảng sau:
Điểm trung bình (%) >= 90% : Grade A
Điểm trung bình (%) >= 80% : Grade B
Điểm trung bình (%) >= 70% : Grade C
Điểm trung bình (%) >= 60% : Grade D
Điểm trung bình (%) >= 40% : Grade E
Điểm trung bình (%) < 40% : Grade F
- Ví dụ: physics = 10, chemistry = 9.5, biology = 9.2, mathematics = 10, computer = 9. Thì điểm trung bình (%) là 95.4. => Kết quả: Grade A
- Đầu vào: physics, chemistry, biology, mathematics, computer
- Đầu ra: grade
Bài tập 3
Viết chương trình javascript để sắp xếp 4 số (a, b, c, d). Và in ra kết quả.
- Ví dụ:
- Cho
a = 3; b = 2; c= 9; d= -1;
In ra "9,3,2,-1"; - Cho
a = 3; b = 3; c= 8; d= -5;
In ra "8,3,3,-5";
- Cho
- Đầu vào: a, b, c, d
- Đầu ra: sắp xếp 4 số (a, b, c, d). Và in ra kết quả.
0 Nhận xét