Câu lệnh If…else trong Java là một phần quan trọng không thể thiếu trong khi lập trình. Do vậy, trong bài này, ta sẽ cùng tìm hiểu về các câu lệnh điều khiển luồng thực thi bằng cách sử dụng câu lệnh if và if … else trong Java cùng với các ví dụ dẫn chứng.
If…else
Trong lập trình, chúng ta sử dụng câu lệnh if để điều khiển luồng thực thi của chương trình. Ví dụ: nếu có một điều kiện nhất định được đáp ứng, sau đó ta sẽ thực thi một khối mã cụ thể. Nếu không, một khối lệnh khác được thực thi.
Ví dụ: Quyết định học ngành A hoặc theo học ngành B dựa trên điểm số thi được của một học sinh.
Nếu điểm > 19, chọn học ngành A
Nếu điểm < 19, học sinh sẽ chọn ngành B
Có 4 dạng câu lệnh if … else trong Java.
- Câu lệnh if
- Câu lệnh if … else
- Câu lệnh if … else if … else
- Câu lệnh if … else lồng nhau
1. Câu lệnh if
Cú pháp:
if(điều kiện) { // các câu lệnh }
Ở đây, điều kiện là một biểu thức boolean. Nó sẽ trả về hai giá trị là true hoặc false.
Nếu điều kiện được đánh giá là true, các câu lệnh bên trong phần thân của if được thực thi. Và ngược lại, các câu lệnh bên trong phần thân của if được bỏ qua.
Ví dụ:
class Main { public static void main(String[] args) { int diem_so = 20; if (diem_so > 19) { System.out.println("Chon nganh A"); } } }
Kết quả:
Chon nganh A
Trong ví dụ trên, chúng ta đã tạo một biến có tên là diem_so. Ta sử dụng một biểu thức so sánh là diem_so > 19. Ở đây, câu điều kiện sẽ kiểm tra liệu rằng số đó lớn hơn 19. Vì ta gán giá trị cho biến là 20, do vậy điều kiện sẽ được thỏa mãn và câu lệnh bên trong câu lệnh if được thực thi.
2. Câu lệnh if … else
Câu lệnh if sẽ thực thi một đoạn mã nhất định nếu biểu thức kiểm tra được đánh giá là true. Và ngược lại, các câu lệnh bên trong phần thân của khối lệnh else được thực thi nếu biểu thức kiểm tra được đánh giá là false. Đây được gọi là câu lệnh if -… else trong Java.
Cú pháp:
if(điều kiện) { // Đoạn mã 1 } else { // Đoạn mã 2 }
Ví dụ:
class Main { public static void main(String[] args) { int diem_so = 12; if (diem_so > 19) { System.out.println("Chon nganh A"); } else{ System.out.println("Chon nganh B"); } } }
Kết quả:
Chon nganh B
Trong đoạn mã trên, ta đã thực hiện gán giá trị 12 cho biến diem_so, do đó điều kiện if (diem_so > 19) không được thỏa mãn, và trình biên dịch sẽ bỏ qua đoạn mã bên trong nó, và chuyển sang đoạn mã bên trong else.
3. Câu lệnh if… else if
Cú pháp:
if(điều kiện 1) { // đoạn mã 1 } else if(điều kiện 2) { // đoạn mã 2 } . . else { // đoạn mã n }
Ở đây, các câu lệnh if được thực hiện từ trên xuống dưới. Khi điều kiện kiểm tra là đúng, các đoạn mã bên trong phần thân của khối if đó sẽ được thực thi. Và, điều khiển chương trình bỏ qua các câu lệnh if … else … if còn lại. Nếu tất cả các biểu thức kiểm tra là đều sai, các đoạn mã bên trong phần thân của else sẽ được thực thi.
Ví dụ:
class Main { public static void main(String[] args) { int diem_so = 18; if (diem_so > 19) { System.out.println("Chon nganh A"); } else if (diem_so > 16){ System.out.println("Chon nganh B"); } else{ System.out.println("Chon nganh C"); } } }
Kết quả:
Chon nganh B
Trong đoạn mã trên, ta thực hiện so sánh điều kiện thứ nhất là diem_so > 19, tuy nhiên vì ban đầu ta gán giá trị 18 cho diem_so nên điều kiện này sẽ được đánh giá là sai (false), do vậy điều kiện diem_so > 16 sẽ được kiểm tra. Vì điều kiện này được thỏa mãn bởi diem_so = 18 > 16, do đó câu lệnh System.out.println(“Chon nganh B”); được thực thi.
Chú ý: Java cung cấp một toán tử đặc biệt được gọi là toán tử bậc ba, là một cách viết tắt của câu lệnh if … else … if
Cú pháp:
Biến = (Câu điều kiện) ? Giá trị A : Giá trị B
Nếu câu điều kiện thỏa mãn, thì biến sẽ nhận giá trị A và ngược lại sẽ nhận giá trị B.
Ví dụ:
class Main { public static void main(String[] args) { int diem_so = 18; String kq = (diem_so > 19) ? "Chon nganh A" : "Chon nganh B"; System.out.println(kq); } }
Kết quả:
Chon nganh B
Vì diem_so = 18 < 19 nên điều kiện diem_so > 19 sẽ được đánh giá là sai, nên biến kq sẽ được gán giá trị là “Chon nganh B”
4. Câu lệnh if..else lồng nhau
Trong Java, cũng có thể sử dụng câu lệnh if..else bên trong câu lệnh if … else. Đây được gọi là câu lệnh if … else lồng nhau.
Ví dụ:
class Main { public static void main(String[] args) { int diem_so = 21; if (diem_so > 19){ System.out.println("Chon nganh A"); } if (diem_so == 20){ System.out.println("Chon chuyen mon A.1"); } else{ System.out.println("Chon chuyen mon A.2"); } } }
Kết quả:
Chon nganh A Chon chuyen mon A.2
Trong đoạn mã trên, ta đã sử dụng điều kiện thứ hai là diem_so == 20 nằm trong điều kiện thứ nhất là diem_so > 19. Do đó, ta có được vòng lặp if else lồng nhau.
Trên đây là khái niệm và ví dụ cơ bản về câu lệnh điều kiện If…else trong Java. Hy vọng mọi người có thể áp dụng vào trong chương trình của mình. Mọi người hãy tiếp tục theo dõi các bài tiếp theo và cập nhật các bài mới nhất trên tek4 nhé!
P/s: Cảm ơn mọi người!