If trong Java với một hoặc nhiều điều kiện | Laptrinhcanban.com

If trong Java với một hoặc nhiều điều kiện

Hướng dẫn cách sử dụng lệnh if trong Java. Bạn sẽ học được cách sử dụng các loại câu lệnh if trong Java như lệnh if trong Java, if else trong Javaelif trong Java, cũng như cách ứng dụng chúng để xử lý câu lệnh if một điều kiện hoặc là if nhiều điều kiện trong Java sau bài học này.

Lệnh if trong Java

Lệnh if trong Java bao gồm từ khóa if, một biểu thức điều kiệnmột khối gồm các câu lệnh được mô tả trong khối đó. Khối lệnh trong if được đặt giữa cặp dấu ngoặc nhọn {} để biểu thị bắt đầu và kết thúc của khối. Các lệnh mô tả trong khối chỉ được xử lý khi biểu thức điều kiện được chỉ định là true (đúng).

Chúng ta sử dụng lệnh if trong Java với cú pháp sau đây:

if (biểu thức điều kiện){
    câu lệnh xử lý nếu biểu thức điều kiện là true (đúng)
}

Nếu biểu thức điều kiện true (đúng), các câu lệnh mô tả trong khối sẽ được thực thi theo thứ tự. Chúng ta cũng có thể viết nhiều câu lệnh liên tiếp trong khối như sau:

if (biểu thức điều kiện):
    câu lệnh 1;
    câu lệnh 2;
    câu lệnh 3;

Nếu chỉ có 1 câu lệnh trong khối lệnh if, chúng ta cũng có thể lược bỏ cặp dấu {} và sử dụng if rút gọn trong Java như sau:

if (biểu thức điều kiện)
    câu lệnh;

Hoặc là viết câu lệnh trên cùng một dòng như sau:

if (biểu thức điều kiện) câu lệnh;

Sơ đồ khối câu lệnh điều kiện trong Java như sau:
Lệnh if trong Java

Lại nữa, khi viết lệnh if trong Java, mặc dù không phải là bắt buộc nhưng chúng ta nên sử dụng các dấu thụt lề đầu dòng để cấu trúc câu lệnh rõ ràng và dễ đọc hơn. Tất cả các câu lệnh mô tả trong khối nên được viết với độ thụt lề giống nhau. Thông thường, chúng ta sẽ dùng 2 hoặc 4 khoảng trắng tạo ra bởi phím cách, hoặc là một dấu tab được tạo ra khi bạn nhấn phím Tab một lần, để quy định độ thụt lề của khối.

Trong biểu thức điều kiện, chúng ta sử dụng toán tử so sánhtoán tử logic để mô tả điều kiện. Nếu kết quả của các phép so sánh hoặc logic này true, các lệnh mô tả trong khối mới được thực hiện. Bạn có thể tìm hiểu chi tiết về các loại toán tử sử dụng trong biểu thức điều kiện của câu lệnh if Java tại bài viết Toán tử so sánh trong Javatoán tử logic trong Java.

Sau đây, chúng ta sẽ thử viết một câu lệnh if trong Java đơn giản để kiểm tra tuổi của một người đã đủ 18 hay chưa.

Trước hết, chúng ta so sánh giá trị gán trong biến old với số 18 để kiểm tra kết quả biểu thức điều kiện old < 18. Và nếu kết quả này là true, lệnh thay đổi giá trị result = "Em chưa 18" trong khối mới được thực hiện.

public class Main
{
public static void main(String[] args) {
int old = 17;
String result = "Trên 18 tuổi";

if (old < 18){
result = "Em chưa 18";
}

System.out.println(result);

}
}
//> Em chưa 18

Ở ví dụ trên, do old =17 nên biểu thức old < 18 true, dẫn đến lệnh thay đổi giá trị được thực hiện.

Giả sử chúng ta chỉ định old = 20 trong ví dụ trên, do biểu thức điều kiện old <18 khi này không còn true (đúng) nữa, do đó lệnh thay đổi giá trị result = "Em chưa 18" mô tả trong khối sẽ không được thực hiện. Kết quả, giá trị ban đầu result= "Trên 18 tuổi" không bị thay đổi và được in ra như sau:

public class Main
{
public static void main(String[] args) {
int old = 20;
String result = "Trên 18 tuổi";

if (old < 18){
result = "Em chưa 18";
}

System.out.println(result);

}
}
//> Trên 18 tuổi

Lại nữa, do trong ví dụ này chỉ có 1 lệnh duy nhất trong khối if nên chúng ta đã có thể bỏ qua cặp dấu {} như cách viết if rút gọn trong Java sau:

if (old < 18) result = "Em chưa 18";

if else trong Java

if else trong Java được sử dụng để xử lý lệnh if khi biểu thức điều kiện được chỉ định là False (sai).
Ở phần trên chúng ta đã biết lệnh if trong Java chỉ xử lý các lệnh mô tả trong khối if nếu biểu thức điều kiện là true (đúng). Trong trường hợp bạn muốn xử lý lệnh if trong Java khi biểu thức điều kiện là False (sai), hãy sử dụng lệnh if else trong Java với cú pháp sau đây:

if (biểu thức điều kiện){
    câu lệnh xử lý nếu biểu thức điều kiện là true (đúng)
}else{
    câu lệnh xử lý nếu biểu thức điều kiện là False (sai)
}

Nếu chỉ có 1 câu lệnh trong khối if else thì chúng ta cũng có thể lược bỏ cặp dấu {} và sử dụng if rút gọn trong Java như sau:

if (biểu thức điều kiện)
    câu lệnh xử lý nếu biểu thức điều kiện là true (đúng)
else
    câu lệnh xử lý nếu biểu thức điều kiện là False (sai)

Chúng ta thêm các lệnh sẽ được xử lý nếu biểu thức điều kiện là False vào trong khối lệnh else, và các lệnh này sẽ chỉ được chạy nếu biểu thức điều kiện là False mà thôi.

Sơ đồ khối câu lệnh if else trong Java như sau:
if else trong Java

Một ví dụ cụ thể, giả sử bạn mười bảy tuổi và bạn muốn vào một bar chơi. Khi đó, hãy viết một mã lệnh kiểm tra điều kiện tuổi được vào bar như sau:

public class Main
{
public static void main(String[] args) {
int old = 17;

if (old < 18){
System.out.println("Em chưa 18, không được vào bar");
}else{
System.out.println("Trên 18, đủ tuổi vào bar");
}
}
}

Kết quả:

Em chưa 18, không được vào bar

Ở trên, do bạn 17 tuổi (old = 17), nên biểu thức điều kiện old < 18 là true, dẫn đến các lệnh trong khối lệnh if sẽ được thực hiện, do đó kết quả Em chưa 18, không được vào bar được in ra màn hình.

Trong trường hợp chỉ định lại tuổi old = 20, khi này biểu thức điều kiện lại trở thành False, do đó các lệnh trong khối lệnh else sẽ được thực hiện, nên kết quả khác sẽ in ra màn hình như sau:

public class Main
{
public static void main(String[] args) {
int old = 20;

if (old < 18){
System.out.println("Em chưa 18, không được vào bar");
}else{
System.out.println("Trên 18, đủ tuổi vào bar");
}
}
}
//>Trên 18, đủ tuổi vào bar

Lại nữa, các khối lệnh if và else ở trên do chỉ có một lệnh duy nhất trong nó, do đó chúng ta cũng có thể lược bỏ đi các cặp dấu {} như cách viết if rút gọn trong Java sau:

if (old < 18)  System.out.println("Em chưa 18, không được vào bar");
else System.out.println("Trên 18, đủ tuổi vào bar");

elif trong Java | if nhiều điều kiện trong Java

elif trong Java được sử dụng để xử lý câu lệnh if nhiều điều kiện trong Java.

Ở phần trên, chúng ta đã làm việc với câu lệnh if một điều kiện trong Java. Khi bạn cần làm việc với câu lệnh if nhiều điều kiện trong Java , chúng ta cần sử dụng tới elif trong Java với cú pháp sau đây:

if (biểu thức điều kiện 1){
    câu lệnh xử lý nếu biểu thức điều kiện 1 là true (đúng)
}else if(biểu thức điều kiện 2){
    câu lệnh xử lý nếu biểu thức điều kiện 2 là true (đúng)
}else if(biểu thức điều kiện 3){
    câu lệnh xử lý nếu biểu thức điều kiện 3 là true (đúng)

}else{
    câu lệnh xử lý nếu tất cả các biểu thức điều kiện ở trên đều False (sai)
}

Chúng ta sẽ viết các biểu thức điều kiện cùng các lệnh sẽ xử lý nếu biểu thức điều kiện đó true (đúng) vào khối tương ứng sau lệnh ifelif. Cuối cùng chúng ta viết các lệnh xử lý mặc định vào trong khối khối else, và các lệnh này sẽ được xử lý trong trường hợp tất các các biểu thức điều kiện được chỉ định đều False (sai).

Sơ đồ khối câu lệnh elif trong Java như sau:
elif trong Java

Trong lệnh if elif else Java các biểu thức điều kiện sẽ được phán đoán từ trên xuống dưới. Nếu biểu thức điều kiện là true (đúng), các lệnh trong khối tương ứng sẽ được thực thi, các biểu thức điều kiện tiếp theo sẽ không được kiểm tra nữa, và toàn bộ mã lệnh được kết thúc.
Nếu biểu thức điều kiện là False (sai) thì tiến hành kiểm tra kết quả của biểu thức điều kiện tiếp theo, và lặp lại quá trình cho tới cuối cùng.
Và nếu như tất cả các biểu thức điều kiện được chỉ định đều cho kết quả False (sai), các lệnh mặc định trong khối else sẽ được thực hiện.

Lại nữa, bạn cũng có thể lược bỏ đi cả khối else, khi đó chương trình sẽ không có lệnh xử lý mặc định, và trong trường hợp toàn bộ các biểu thức điều kiện được chỉ định đều False (sai), sẽ không có câu lệnh nào được thực thi hay kết quả nào được trả về.

Ví dụ về sử dụng elif trong Java như sau. Chúng ta cũng sẽ sử dụng lại ví dụ kiểm tra tuổi vào bar như trên, nhưng sẽ kèm thêm một trường hợp nữa là kiểm tra thẻ chứng minh nhân dân:

public class Main
{
public static void main(String[] args) {
int old = 17;
String cmnd = "không";

if (old < 18 && cmnd == "có"){
System.out.println("Em chưa 18, không được vào bar");
} else if (old >= 18 && cmnd == "có"){
System.out.println("Trên 18, đủ tuổi vào bar");
} else {
System.out.println("Về lấy CMND và quay lại sau");
}
}
}
//>Về lấy CMND và quay lại sau

Với ví dụ trên, chỉ khi nào bạn có mang theo CMND và trên 18 tuổi thì kết quả của lệnh elif trong Java mới cho bạn vào bar mà thôi.

if rút gọn trong Java

Như phần trên Kiyoshi đã trình bày, thì nếu trong khối lệnh của if, if else hoặc else chỉ chứa một câu lệnh duy nhất thì chúng ta có thể lược bỏ đi cặp dấu {} và sử dụng tới if rút gọn trong Java.

Sau khi lược bỏ cặp dấu {}, chúng ta có thể viết các lệnh trên cùng dòng, hoặc là xuống dòng trước khi viết lệnh đó.

Ví dụ cụ thể về if rút gọn trong Java trong câu lệnh if else trong Java như sau:

public class Main
{
public static void main(String[] args) {
int old = 20;

if (old < 18) System.out.println("Em chưa 18, không được vào bar");
else
System.out.println("Trên 18, đủ tuổi vào bar");

}
}
//>Trên 18, đủ tuổi vào bar

Lại nữa, chúng ta cũng có thể kết hợp cả cú pháp lệnh if trong Java thông thường và if rút gọn trong Java trong cùng một chỗ như sau:

public class Main
{
public static void main(String[] args) {
int old = 17;

if (old < 18){
System.out.println("Em chưa 18, không được vào bar\n");
System.out.println("Đủ tuổi rồi tới nha");
}else System.out.println("Trên 18, đủ tuổi vào bar");

}
}
//Em chưa 18, không được vào bar
//Đủ tuổi rồi tới nha

Giống như ở trên thì trong khối lệnh if có nhiều hơn 2 lệnh, do đó chúng ta phải dùng cú pháp lệnh if thông thường với cặp dấu {}, tuy nhiên trong khối lệnh else do chỉ có 1 lệnh, nên chúng ta hoàn toàn có thể lược bỏ cặp dấu này đi.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng các loại câu lệnh lệnh if trong Java như lệnh if trong Java, if else trong Java, và elif trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.