Câu lệnh rẽ nhánh (if else) trong Java

1- Câu lệnh if

Câu lệnh if là câu lệnh cơ bản nhất trong tất cả các câu lệnh điều khiển (control flow statements). Nó nói với chương trình của bạn để thực hiện một phần mã nhất định chỉ khi một điều kiện được đánh giá là đúng (true).
 

Dưới đây là cấu trúc của câu lệnh if:


// condition: Điều kiện cần kiểm tra.
if (condition)  {
    // Làm gì đó tại đây nếu 'condition' là đúng.
}


if.

  1. Chương trình kiểm tra điều kiện (condition).
  2. Nếu điều kiện đúng (true), các đoạn mã (code) trong khối lệnh của if sẽ được thực thi (execute). Sau đó nó tiếp tục thực thi các mã phía dưới của khối lệnh if.
  3. Nếu điều kiện sai (false), chương trình sẽ bỏ qua các đoạn mã trong khối lệnh của if, và thực thi các đoạn mã phía dưới khối lệnh if.

Hình phía trên minh họa luồng đi ( flow ) của ứng dụng khi nó phát hiện một câu lệnhVí dụ :
IfExample. java


package org.o7planning.tutorial.javabasic.controlflow;

public class IfExample {

	public static void main(String[] args) {

		// Khai báo một biến, đại diện cho tuổi của bạn
		int age = 30;

		System.out.println("Your age: " + age);

		// Điều kiện (condition) cần kiểm tra là 'age > 20'
		if (age > 20) {

			System.out.println("Okey!");
			System.out.println("Age is greater than 20");
		}

		// Các đoạn mã phía dưới khối 'if'.
		System.out.println("Done!");

	}

}

Chạy ví dụ :


Your age: 30
Okey!
Age is greater than 20
Done!

2- Câu lệnh if – else

Lệnh if-else cũng được sử dụng để kiểm tra một điều kiện. Nó sẽ thực thi (execute) khối lệnh if nếu điều kiện là đúng, nếu điều kiện sai thì khối lệnh else sẽ được thực thi.
 

* * if – else * *


if( condition )  {
   // Làm gì đó tại đây    
}  
// Ngược lại
else  { 
   // Làm gì đó tại đây    
}


Ví dụ :
IfElseExample. java


package org.o7planning.tutorial.javabasic.controlflow;

public class IfElseExample {

	public static void main(String[] args) {

		// Khai báo một biến, đại diện cho tuổi của bạn
		int age = 15;

		System.out.println("Your age: " + age);

		// Điều kiện (condition) cần kiểm tra là 'age > 18'
		if (age >= 18) {

			System.out.println("Okey!");
			System.out.println("You are accepted!");
			
		} else {

			System.out.println("Sorry!");
			System.out.println("Age is less than 18");
		}

		// Các đoạn mã phía sau khối 'if' và khối 'else'.
		System.out.println("Done!");

	}

}

Chạy ví dụ :


Your age: 15
Sorry!
Age is less than 18
Done!

3- Câu lệnh if – else if – else

Cấu trúc của một câu lệnh if – else if – else là:


if(condition 1)  {

   // Làm gì đó tại đây    
} else if(condition 2) {

   // Làm gì đó tại đây    
} else if(condition 3) {

   // Làm gì đó tại đây    
}
// Ngược lại
else  { 

   // Làm gì đó tại đây    
}

Tạo class ElseIfExample1:


ElseIfExample1. java


package org.o7planning.tutorial.javabasic.controlflow;

public class ElseIfExample1 {

	public static void main(String[] args) {

		// Khai báo một số kiểu int (Số nguyên 32 bit)
		// Đại diện cho điểm thi (score) của bạn
		int score = 70;

		System.out.println("Your score =" + score);

		// Nếu điểm số nhỏ hơn 50
		if (score < 50) {
			System.out.println("You are not pass");
		}
		// Ngược lại nếu score lớn hơn hoặc bằng 50 và nhỏ hơn 80.
		else if (score >= 50 && score < 80) {
			System.out.println("You are pass");
		}
		// Trường hợp còn lại (Nghĩa là lớn hơn hoặc bằng 80)
		else {
			System.out.println("You are pass, good student!");
		}

	}
}

Kết quả chạy class ElseIfExample1:


Your score =70
You are pass

Thay đổi giá trị của biến "score" trong ví dụ trên và chạy lại class ElseIfExample1:


int score = 20;

Your score =20
You are not pass

4- Giá trị boolean

boolean là một kiểu dữ liệu, nó chỉ có 2 giá trị true hoặc false (Đúng hoặc sai).

Tạo lớp BooleanExample:

BooleanExample. java


package org.o7planning.tutorial.javabasic.controlflow;

public class BooleanExample {

	public static void main(String[] args) {

		// Khai báo một biến kiểu boolean
		boolean value = true;

		// Nếu value là true
		if (value == true) {
			System.out.println("It's true");
		}
		// Ngược lại
		else {
			System.out.println("It's false");
		}

		// Với kiểu boolean, bạn cũng có thể viết
		// With boolean type, you can also write
		if (value) {
			System.out.println("It's true");
		}
		// Ngược lại
		else {
			System.out.println("It's false");
		}
	}
}

It's true
It's true

5- Các toán tử tham gia vào biểu thức điều kiện

Dưới đây là list những toán tử, nó thường đươc sử dụng trong một biểu thức điều kiện kèm theo ( conditional expression ) .

  • > Lớn hơn
  • < Nhỏ hơn
  • >= Lớn hơn hoặc bằng
  • <= Nhỏ hơn hặc bằng
  • && Và
  • || hoặc
  • == So sánh bằng
  • != So sánh khác nhau
  • ! Phủ định

Ví dụ:

ElseIfExample2. java


package org.o7planning.tutorial.javabasic.controlflow;

public class ElseIfExample2 {

	public static void main(String[] args) {

		// Khai báo một biến kiểu int, đại diện cho tuổi của bạn.
		int age = 20;

		// Kiểm tra tuổi nhỏ hơn hoặc bằng 17
		if (age <= 17) {
			System.out.println("You are 17 or younger");
		}

		// Kiểm tra tuổi bằng 18
		else if (age == 18) {
			System.out.println("You are 18 year old");
		}
		// Kiểm tra tuổi lớn hơn 18 và nhỏ hơn 40
		else if (age > 18 && age < 40) {
			System.out.println("You are between 19 and 39");
		}
		// Trường hợp còn lại (Lớn hơn hoặc bằng 40)
		else {
			// Một lệnh 'if' lồng bên trong.
			// Kiểm tra tuổi khác 50.
			if (age != 50) {
				System.out.println("You are not 50 year old");
			}

			// Lệnh phủ định tuổi bằng 50, nghĩa là khác 50.
			if (!(age == 50)) {
				System.out.println("You are not 50 year old");
			}

			// Nếu tuổi là 60 hoặc 70
			if (age == 60 || age == 70) {
				System.out.println("You are 60 or 70 year old");
			}

		}

	}
}

Chạy ví dụ :


You are between 19 and 39

Bạn có thể thay đổi giá trị của biến 'age' và chạy lớp ElseIfExample2 và xem các kết quả