Câu lệnh switch case trong Java có ý tưởng giống với C++. Các bạn có thể đọc lại bài Cấu trúc rẽ nhánh switch case và minh họa với C++ để nắm rõ ý tưởng về switch case. Bài này chủ yếu đưa ra các ví dụ sử dụng switch case trong Java để các bạn biết về các trường hợp có thể sử dụng switch case. Ngoài ra, toán tử điều kiện cũng sẽ được nhắc lại trong bài này.
1. Câu lệnh switch case
Câu lệnh switch case cho phép lựa chọn một trong nhiều khối lệnh để thực hiện tùy vào biểu thức được lựa chọn.
class Main {
public static void main(String[] args) {
int number = 44;
String size;
// switch statement to check size
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
// match the value of week
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
}
}
Kết quả
Size: Large
Lệnh break trong switch case
Cần sử dụng lệnh break trong mỗi khối lệnh case.
...
case 29:
size = "Small";
break;
...
Nếu không sử dụng lệnh break thì tất cả những trường hợp sau case thỏa điều kiện sẽ được thực thi.
class Main {
public static void main(String[] args) {
int expression = 2;
// switch statement to check size
switch (expression) {
case 1:
System.out.println("Case 1");
// matching case
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
Kết quả
Case 2
Case 3
Default case
Trường hợp default trong switch case
Câu lệnh switch cũng có thêm một trường hợp mặc định (default). Nếu không có case nào thỏa điều kiện thì trường hợp default sẽ được thực thi.
class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// default case
default:
System.out.println("Unknown Size");
}
}
}
Kết quả
Unknown Size
2. Toán tử điều kiện
Cú pháp:
(bt_logic) ? bt1 : bt2;
Thực hiện bt1 khi bt_logic đúng, thực hiện bt2 khi bt_logic sai.
Ví dụ:
int abs = (a > 0) ? a : -a;
Thay vì sử dụng if
if (x > 0){
y = 1;
}else{
y = -1;
}
Có thể sử dụng toán tử điều kiện: y = (x > 0) ? 1 : -1;
Ví dụ sử dụng if:
if (so % 2 == 0){
System.out.println(so + " la so chan!");
}else{
System.out.println(so + " la so le!");
}
Tương đương với:
System.out.println((so % 2 == 0) ? so + " la so chan!" : so + " la so le!");
Toán tử điều kiện giúp làm ngắn gọn code hơn.