W3School
Điều kiện trong Java và Câu lệnh If
Java hỗ trợ các điều kiện logic thông thường từ toán học:
- Nhỏ hơn: a <b
- Nhỏ hơn hoặc bằng: a <= b
- Lớn hơn: a> b
- Lớn hơn hoặc bằng: a> = b
- Bằng a == b
- Không bằng: a! = b
Bạn có thể sử dụng các điều kiện này để thực hiện các hành động khác nhau cho các quyết định khác nhau.
Java có các câu lệnh điều kiện sau:
- Sử dụng
if
để chỉ định một khối mã sẽ được thực thi, nếu một điều kiện được chỉ định là đúng - Sử dụng
else
để chỉ định một khối mã sẽ được thực thi, nếu tất cả điều kiện trước đó đều sai - Sử dụng
else if
để chỉ định một điều kiện mới để kiểm tra, nếu điều kiện đầu tiên là sai - Sử dụng
switch
để chỉ định nhiều khối mã thay thế sẽ được thực thi
Câu lệnh if
Sử dụng câu lệnh if
để chỉ định một khối mã Java sẽ được thực thi nếu biểu thức trả về true
.
Cú pháp
if (condition) {
// block of code to be executed if the condition is true
}
Lưu ý rằng đó if
là chữ thường. Các chữ hoa (If hoặc IF) sẽ tạo ra lỗi.
Trong ví dụ dưới đây, chúng tôi kiểm tra hai giá trị để tìm xem 20 có lớn hơn 18. Nếu điều kiện là true
, hãy in một số văn bản:
Thí dụ
if (20 > 18) {
System.out.println("20 is greater than 18");
}
Chúng ta cũng có thể kiểm tra bằng các biến:
Thí dụ
int x = 20;
int y = 18;
if (x > y) {
System.out.println("x is greater than y");
}
Giải thích ví dụ
Trong ví dụ trên, chúng ta sử dụng hai biến, x và y , để kiểm tra xem x có lớn hơn y hay không (sử dụng toán tử lớn hơn >
). Vì x là 20 và y là 18, và chúng ta biết rằng 20 lớn hơn 18, chúng ta in ra màn hình rằng “x lớn hơn y”.
Câu lệnh else
Sử dụng else
câu lệnh để chỉ định một khối mã sẽ được thực thi nếu điều kiện trước đó là false
.
Cú pháp
if (condition) {
// block of code to be executed if the condition is true
} else {
// block of code to be executed if the condition is false
}
Thí dụ
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."
Giải thích ví dụ
Trong ví dụ trên, thời gian (20) lớn hơn 18, do đó, điều kiện là false
. Bởi vì điều này, chúng tôi chuyển sang else
điều kiện và in ra màn hình “Chào buổi tối”. Nếu thời gian nhỏ hơn 18, chương trình sẽ in “Good day”.
Câu lệnh else if
Sử dụng else if
câu lệnh để chỉ định một điều kiện mới nếu điều kiện đầu tiên là false
.
Cú pháp
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
Thí dụ
int time = 22;
if (time < 10) {
System.out.println("Good morning.");
} else if (time < 20) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
// Outputs "Good evening."
Giải thích ví dụ
Trong ví dụ trên, thời gian (22) lớn hơn 10, vì vậy điều kiện đầu tiên là false
. Điều kiện tiếp theo, trong else if
câu lệnh, cũng false
vậy, vì vậy chúng ta chuyển sang else
điều kiện vì condition1 và condition2 là cả hai false
– và in ra màn hình “Chào buổi tối”.
Tuy nhiên, nếu thời gian là 14, chương trình của chúng tôi sẽ in “Good day.”
Short Hand If…Else
Ngoài ra còn có short hand if else , được gọi là toán tử bậc ba vì nó bao gồm ba toán hạng.
Nó có thể được sử dụng để thay thế nhiều dòng mã bằng một dòng duy nhất và thường được sử dụng để thay thế các câu lệnh if else đơn giản:
Cú pháp
variable = (condition) ? expressionTrue : expressionFalse;
Thay vì viết:
Thí dụ
int time = 20;
if (time < 18) {
System.out.println("Good day.");
} else {
System.out.println("Good evening.");
}
Bạn chỉ cần viết:
Thí dụ
int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);
Câu lệnh switch Java
Sử dụng câu lệnh switch
để chọn một trong nhiều khối mã sẽ được thực thi.
Cú pháp
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
Đây là cách nó hoạt động:
- Biểu thức
switch
được đánh giá một lần. - Giá trị của biểu thức được so sánh với giá trị của mỗi biểu thức
case
. - Nếu có sự trùng khớp, khối mã được liên kết sẽ được thực thi.
- Từ khóa
break
vàdefault
là tùy chọn, và sẽ được mô tả sau trong chương này
Ví dụ dưới đây sử dụng số ngày trong tuần để tính tên ngày trong tuần:
Thí dụ
int day = 4;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
case 4:
System.out.println("Thursday");
break;
case 5:
System.out.println("Friday");
break;
case 6:
System.out.println("Saturday");
break;
case 7:
System.out.println("Sunday");
break;
}
// Outputs "Thursday" (day 4)
Từ khóa break
Khi Java đạt đến một từ khóa break
, nó sẽ thoát ra khỏi khối switch.
Điều này sẽ dừng việc thực thi mã và thử nghiệm các trường hợp khác bên trong khối.
Việc ngắt có thể tiết kiệm rất nhiều thời gian thực thi vì nó “bỏ qua” việc thực thi tất cả phần còn lại của mã trong khối switch.
Từ khoá default
Từ khóa default
chỉ định một số mã để chạy nếu không có case nào đáp ứng điều kiện:
Thí dụ
int day = 4;
switch (day) {
case 6:
System.out.println("Today is Saturday");
break;
case 7:
System.out.println("Today is Sunday");
break;
default:
System.out.println("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"
Lưu ý rằng nếu default
được sử dụng làm câu lệnh cuối cùng trong khối switch thì nó không cần viết thêm break.
W3School