Cấu trúc điều khiển if - else, switch - case trong Java
Bài đăng này đã không được cập nhật trong 2 năm
1. if - else
1.1 Khái niệm
- Trong hầu hết các ngôn ngữ lập trình cấu trúc điều khiển if - else sẽ kiểm tra kết quả của 1 điều kiện và dựa vào kết quả đó để thực hiện các hành động tương ứng.
1.2 Cấu trúc
- Ta có cấu trúc if - else đầy đủ như sau:
// Cấu trúc if - else đầy đủ.
if(điều kiện) {
hành động 1
} else {
hành động 2
}
- Ở đây
điều kiệu
bên trong if là một biểu thức toán học có kết quả là kiểu boolean (true/false) - Nếu
điều kiện
đúng (true) thì thực hiệnhành động 1
, ngược lại, điều kiện sai (false) thì thực hiệnhành động 2
.
- Tương tự, ta có cấu trúc if - else if - else:
// Cấu trúc if - else if - else.
if (điều kiện 1) {
hành động 1
} else if (điều kiện 2) {
hành động 2
} else {
hành động 3
}
-
điều kiệu 1
bên trong if là một biểu thức toán học có kết quả là kiểu boolean (true/false) -
Nếu
điều kiện 1
đúng (true) thì thực hiệnhành động 1
, ngược lại,điều kiện 1
sai (false) thì thực hiện kiểm trađiều kiện 2
-
Nếu
điều kiện 2
đúng (true) thì thực hiệnhành động 2
, ngược lại,điều kiện 2
sai (false) thì thực hiệnhành động 3
. -
Tương tự, chúng ta có thêm 2 cấu trúc khác như sau:
// Cấu trúc if khuyết else.
if(điều kiện) {
hành động 1
}
// Cấu trúc if - else lồng nhau.
if(điều kiện 1) {
if (điều kiện 2) {
hành động 1
} else {
hành động 2
}
} else {
hành động 3
}
2. switch - case
2.1 Khái niệm
- Cấu trúc điều khiển
switch - case
sẽ kiểm tra kết quả của 1 điều kiện và dựa vào kết quả đó để thực hiện các hành động tương ứng.
2.2 Cú pháp
switch (biểu_thức) {
case giá_trị_1:
Lệnh 1;
break;
case giá_trị_2:
Lệnh 2;
break;
...
case giá_trị_n:
Lệnh n;
break;
default:
Lệnh 0;
}
biểu_thức
trả về một giá trị, kết quả là một số nguyên, chuỗi hoặc một ký tự.- Giá_trị_1, giá_trị_2,..., giá_trị_n là các biểu thức hằng, nguyên hoặc ký tự và chúng phải khác nhau.
- Khi mà
biểu thức
trả về mộtgiá trị
thì sẽ thực hiện lệnh bên trongcase
có giá trị tương ứng. - Khi mà
biểu thức
trả vềgiá trị
mà không có trong các case thì sẽ thực hiện lệnh trongdefault
.
- Lệnh
break
là để nhảy ra khỏi lệnhswitch
, nếu không có lệnh này cấu trúcswitch
sẽ duyệt cả các trường hợp phía dưới cho đến hết. - Khi không sử dụng từ khóa
break
trong mệnh đềswitch-case
. Điều này có nghĩa là các khối lệnh saucase có giá trị
phù hợp sẽ được thực thi. - Lưu ý là khối
default
là không bắt buộc có ở cấu trúcswitch case
trong Java, tức là bạn có thể viết cũng được mà không viết cũng không bị lỗi.
3. Khi nào dùng if-else, khi nào dùng switch-case ?
- Vậy khi nào thì cần dùng
switch - case
thay vìif - else
:- Chúng ta có số trường hợp cần xử lý lớn hơn 3 thì khi đó chúng ta nên sử dụng
switch - case
để dễ dàng kiểm tra và xử lý. - Khi trường hợp
biểu_thức
vàgiá_trị
phải có giá trị cụ thể (số nguyên, ký tự...).
- Chúng ta có số trường hợp cần xử lý lớn hơn 3 thì khi đó chúng ta nên sử dụng
- Lưu ý: đối với một bài toán sử dụng
switch - case
thì có thể thay thế bằngif - else
, nhưng ngược lại một bài toán sử dụngif - else
thì chưa chắc có thể thay thế bằngswitch - case
All rights reserved