Java If Else có nghĩa là cách kiểm soát luồng chương trình Java bằng việc sử dụng các câu lệnh If Else. Đây là một trong những khái niệm cơ bản của ngôn ngữ Java. Nếu bạn muốn học Java thì tuyệt đối không nên bỏ qua khái niệm này.
Mời bạn đọc tìm hiểu chi tiết về câu lệnh If Else thông qua các ví dụ minh họa.
Mục lục bài viết
Ví dụ 1 về Java If Else – Nhiều câu lệnh If
public static void main (String[ ] args)
{
int Age = 18;
if (Age < 65)
{
System.out.println {“You are too young to retire!”);
}
if (Age >= 65)
{
System.out.println {You are ready for retirement!”);
}
)
Ví dụ trên chứa hai bài kiểm tra, kết quả đầu ra có thể là:
- Nếu tuổi <65, bạn điền “You are too young to retire” (bạn còn quá trẻ để nghỉ hưu) lên câu lệnh.
- Nếu tuổi >65, bạn điền “You are ready for retirement” (bạn đã sẵn sàng nghỉ hưu) lên câu lệnh.
Chương trình bắt đầu với điều kiện đầu tiên để kiểm tra xem nó có đúng không. Và thực hiện kết quả đầu ra chỉ cho một trong các điều kiện, tùy thuộc vào giá trị của Age.
Trong câu lệnh if, các điều kiện trả về giá trị sai bị bỏ qua và quá trình thực thi chương trình vẫn tiếp tục. Nếu bạn muốn Java thực hiện thêm một số việc ra quyết định, bạn có thể thêm if else logic.
Giống như câu lệnh if, if else kiểm tra các điều kiện cụ thể. Tuy nhiên, nó được thực hiện thêm một bước nữa và cung cấp cho chương trình lệnh mới để thực hiện trong cả trường hợp đúng và sai.
Cú pháp lệnh Jave If Else được thực hiện như sau:
if (condition)
{
Statement to execute if condition is true;
}
else
{
Statement to execute if condition is false;
}
Quan sát bạn có thể thấy, nửa đầu ví dụ bắt chước cú pháp cho câu lệnh if.
Từ khóa if cho biết một thay đổi trong luồng chương trình sắp thay đổi, theo sau là một điều kiện (biểu thức Boolean) được đặt trong dấu ngoặc đơn.
Sau đó, bạn tạo khối mã đầu tiên bao gồm câu lệnh mà bạn muốn thực thi nếu điều kiện trả về true (tất cả được đặt trong dấu ngoặc vuông).
Khối mã thứ hai tương tự như khối đầu tiên, nhưng chứa một câu lệnh thực thi nếu điều kiện trả về false (một lần nữa tất cả đều nằm trong ngoặc).
Các khối mã có thể chứa bất kỳ biểu thức nào trả về giá trị Boolean (true hoặc false). Các biểu thức luôn kết thúc bằng dấu chấm phẩy.
Ví dụ 2: Câu lệnh Java If Else cơ bản
int num = 4;
if (num >=3)
{
System.out.println(“Hello World!”);
}
else
{
System.out.println(“Sorry. No printout!”);
}
Đoạn mã này tạo ra một biến, gọi là num và cung cấp cho nó giá trị bắt đầu là 1. Chương trình tiếp tục vòng lặp, miễn là giá trị num<5.
Khi kết thúc mỗi vòng lặp, chương trình tăng giá trị của num lên một. Đối với mỗi vòng lặp, chương trình sẽ in “Hello world!”
Kết quả chương trình như sau:
Hello world!
Hello world!
Hello world!
Hello world!
Hello world!
Dòng chữ “Hello world!” sẽ được hiển thị ra màn hình 5 lần.
Ví dụ về câu lệnh If Else rẽ nhánh
Ví dụ 3 về Java If Else – Câu lệnh ghép
Ví dụ 3 chứa một câu lệnh đơn trong một khối mã. Java cũng hỗ trợ các câu lệnh ghép trong một khối mã duy nhất.
Cú pháp thực hiện như sau:
if (condition)
{
Statement 1 to execute;
Statement 2 to execute;
Statement 3 to execute;
}
else
{
Statement 4 to execute;
}
Đây là một ví dụ:
public static void main(String[] args)
{
if (num < 0)
{
System.out,println(“Your value is a negative number.”;
System.out.println(“Try another number:”);
num = keyboard.nextInt ( );
}
else
{
System.out.println(“You did not enter a negative number. Good job!”);
}
}
Ví dụ này thực hiện như sau:
-
Biến num đang được đánh giá.
-
Điều kiện kiểm tra xem biến num có nhỏ hơn không.
-
Nếu điều kiện trả về true, chương trình sẽ in “Your value is a negative number. Try another number. (Giá trị của bạn là một số âm. Hãy thử một số khác) lên màn hình.
-
“Num = keyboard.nextInt ();” câu lệnh nhận giá trị tiếp theo của num và điều kiện được đánh giá lại với giá trị mới.
-
Nếu điều kiện trả về false, chương trình sẽ in “You did not enter a negative number. Good job!” (Bạn đã không nhập số âm. Làm tốt lắm!) lên màn hình.
Các phương pháp hay nhất cho câu lệnh if else với câu lệnh ghép:
-
Đảm bảo rằng tất cả các câu lệnh của bạn được đặt trong dấu ngoặc. Như đã đề cập trước đây, điều này hỗ trợ khả năng đọc.
-
Định vị các dấu ngoặc mở và đóng cho khối mã, với thụt lề thích hợp, trên một dòng riêng biệt. Điều này bổ sung thêm một chút mã hóa, nhưng hỗ trợ khả năng đọc.
Ví dụ 4 về If Else – Tiết kiệm thời gian với các toán tử Boolean
Các ví dụ trên bao gồm các toán tử nhỏ hơn (<) và lớn hơn hoặc bằng (> =) để kiểm tra các điều kiện. Các toán tử quan hệ này hoạt động tốt nhất để kiểm tra một điều kiện duy nhất.
Nếu logic if else của bạn yêu cầu kiểm tra nhiều điều kiện (còn được gọi là điều kiện ghép), thì các toán tử Boolean được gọi là toán tử đoản mạch.
Các toán tử đoản mạch lấy tên của họ từ việc họ có thể đánh giá các điều kiện nhanh như thế nào. Ví dụ, trong một số trường hợp Java không phải đánh giá điều kiện thứ hai.
Trong Java, && (Logical AND) và II (Logical OR) là các toán tử ngắn mạch.
Bảng sau đây cho thấy khi mỗi toán tử trả về một giá trị Boolean (true hoặc false).
Toán tử logic |
Đúng khi… |
Sai khi… |
&& |
Cả hai điều kiện đều trả về true |
|
II |
Ít nhất một điều kiện trả về true |
|
Cú pháp cho câu lệnh Java if else có chứa điều kiện ghép sẽ như sau:
if ((condition 1) logical operator (condition 2))
{
Statement to execute if condition is true;
}
else
{
Statement to execute if condition is false;
}
Ngoài vị trí của toán tử logic giữa các điều kiện, bạn cũng sẽ nhận thấy một sự khác biệt khác ngay lập tức.
Một tập hợp các dấu ngoặc đơn được đặt xung quanh mỗi điều kiện cũng như toàn bộ điều kiện ghép. Đây là hai điểm khác biệt duy nhất so với một câu lệnh có một điều kiện duy nhất.
Dưới đây là ví dụ về câu lệnh if else chứa điều kiện ghép sử dụng toán tử &&:
if ((a < 5) && (b > 5))
{
System.out.println(“This is true!”);
}
else
{
System.out.println (“This is false!”);
}
Trong ví dụ này, Java đánh giá điều kiện đầu tiên và sau đó là điều kiện thứ hai theo như sau:
-
Điều kiện đầu tiên đúng, điều kiện thứ hai đúng; câu lệnh trả về true.
-
Điều kiện đầu tiên sai, Java bỏ qua điều kiện thứ hai; câu lệnh trả về false.
-
Điều kiện đầu tiên đúng, điều kiện thứ hai sai; câu lệnh trả về false.
Nếu câu lệnh trả về true, Java sẽ in “Đây là sự thật!” trên màn hình. Nếu không, “Điều này là sai!” được in trên màn hình.
Trong câu lệnh if else tiếp theo này, chúng ta sử dụng toán tử II để kết hợp các điều kiện:
if ((a == 5) || (b == 10)
{
System.out.println(“This is true!”);
}
else
{
System.out.println(“This is false!”);
}
Trong ví dụ này, việc ra quyết định hoạt động như sau:
-
Điều kiện đầu tiên đúng, Java bỏ qua điều kiện thứ hai; câu lệnh trả về true.
-
Điều kiện đầu tiên sai, điều kiện thứ hai đúng; câu lệnh trả về true.
-
Điều kiện đầu tiên sai, điều kiện thứ hai sai; câu lệnh trả về false.
Nếu câu lệnh trả về true, Java sẽ in “Đây là sự thật!” trên màn hình. Nếu không, “Điều này là sai!” được in trên màn hình.
Ví dụ 5: Các câu lệnh If Else lồng nhau
Các ví dụ cho đến nay đều chứa một câu lệnh điều kiện duy nhất để kiểm tra. Nếu chương trình của bạn yêu cầu kiểm tra nhiều điều kiện, thì câu lệnh if else lồng nhau là những gì bạn cần.
Một câu lệnh lồng nhau cũng được gọi là một đa mã.
Cú pháp cho các câu lệnh Java if else lồng nhau:
if (condition)
{
Statement to execute if condition is true;
}
else if
{
Statement to execute if condition is true;
}
else if
{
Statement to execute if condition is true;
}
else
{
Statement to execute if condition is false;
}
Ví dụ sau chứa 2 câu lệnh Else if
public static void main (String args[ ])
{
int score = 85;
if (score < 70)
{
System.out.println(“You did not receive a passing score!”);}
else if (score = = 85)
{
System.out.println(“You received a passing score!”);
}
else if (score = = 100)
{
System.out.println (“You received a perfect score!”); }
else
{
System.out.printlin (“I don’t know your score!”);
}
Kết quả như sau:
You received a passing score! (Bạn đã nhận được điểm vượt qua)
Trong ví dụ này, điểm biến được đặt thành 30. Có bốn điều kiện (kiểm tra), mỗi điều kiện có một đầu ra nếu điều kiện trả về true.
Câu lệnh cuối cùng là đầu ra nếu không có điều kiện nào trả về true:
-
Bài kiểm tra 1: Nếu điểm dưới 70. Nếu đúng, “You did not receive a passing score!” (Bạn không nhận được điểm đậu!) sẽ được in ra màn hình.
-
Bài kiểm tra 2: Nếu điểm bằng 85. Nếu đúng, “You received a passing score” (Bạn đã nhận được điểm đậu!) sẽ được in ra màn hình.
-
Bài kiểm tra 3: Nếu điểm bằng 100. Nếu đúng, “You received a perfect score!” (Bạn đã nhận được điểm tuyệt đối!) sẽ được in ra màn hình.
-
Bài kiểm tra 4: Nếu điểm không trả về đúng cho các bài kiểm tra 1-3. Nếu đúng, “I don’t know your score!” (Tôi không biết điểm của bạn!) được in ra màn hình.
Không có giới hạn về số lượng câu lệnh else if bạn có thể thêm vào chương trình. Tuy nhiên, bạn nên viết ra và kiểm tra tính logic của mình để tìm ra phương pháp hiệu quả nhất để đạt được mục tiêu của chương trình.
Quá nhiều câu lệnh Java if else lồng nhau có thể trở nên khó hiểu. Tạo một sơ đồ luồng của chương trình là một cách để kiểm tra tính logic của bạn. Phương pháp kiểm tra này cho phép bạn hình dung luồng logic của mình.
Tổng kết
Như vậy thông qua bài viết trên đây, Box.edu đã cùng bạn tìm hiểu về câu lệnh Java If Else và các ví dụ minh họa. Hy vọng những kiến thức trên sẽ hữu ích với bạn.
Cảm ơn và chúc các bạn thành công!