Như các ngôn ngữ lập trình khác, ngôn ngữ Java cũng hỗ trợ cấu trúc điều khiển luồng. Với cấu trúc này, chương trình sẽ kiểm tra một hoặc nhiều điều kiện và nếu các điều kiện này là true, thì lệnh hoặc các lệnh tương ứng với điều kiện true này sẽ được thực hiện, nếu không thì các lệnh tương ứng với điều kiện false sẽ được thực thi.
Trong Java, có 2 lệnh phục vụ mục đích điều khiển luồng đó là If-Else và Switch-Case.
1. Câu lệnh If/Else
Câu lệnh If-Else có cách sử dụng linh hoạt trong nhiều hoàn cảnh khác nhau, giúp rút ngắn thời gian code và tăng hiệu năng của chương trình.
- Sử dụng mệnh đề If
Mệnh đề If được sử dụng khi kiểm tra giá trị dạng boolean của điều kiện. Khối lệnh sau if được thực thi nếu giá trị của điều kiện là True
Ví dụ:
package com.company;
public class Main {
public static void main(String args[]) {
int number = 5;
if (number < 10) {
System.out.println("Số đã cho nhỏ hơn 10");
}
}
}
- Sử dụng mệnh đề If-Else
Mệnh đề If-Else cũng kiểm tra giá trị dạng boolean của điều kiện. Nếu giá trị điều kiện là True thì chỉ có khối lệnh sau If sẽ được thực hiện, nếu là False thì chỉ có khối lệnh sau Else được thực hiện.
Ví dụ:
package com.company;
public class Main {
public static void main(String args[]) {
int number = 10;
if (number < 10) {
System.out.println("Số đã cho nhỏ hơn 10");
} else {
System.out.println("Số đã cho lớn hơn hoặc bằng 10");
}
}
}
Số đã cho lớn hơn hoặc bằng 10
- Sử dụng mệnh đề if-else-if
Sau khi kiểm tra điều kiện if thứ nhất, nếu trả về True thì khối lệnh sau if thứ nhất được thực hiện. Còn nếu trả về false, lại xét tiếp đến điều kiện if thứ 2, và cứ thế cho đến khi trả về true hoặc không còn điêu kiện if nào nữa.
Việc sử dụng mệnh đề if-else-if sẽ tránh được trường hợp kiểm tra thừa điều kiện.
Ví dụ:
package com.company;
public class Main {
public static void main(String args[]) {
int number = 2;
if (number < 5) {
System.out.println("Số đã cho nhỏ hơn 5");
System.out.println("Số đã cho nhỏ hơn 10");
} else if (number < 10) {
System.out.println("Số đã cho không nhỏ hơn 5");
System.out.println("Số đã cho nhỏ 10");
}
}
}
Trong trường hợp này, ta muốn kiểm tra xem biến number có nhỏ hơn 5 và nhỏ hơn 10 không. Thay vì viết 2 lệnh if riêng rẽ, ta sử dụng cấu trúc trên sẻ giảm được 1 lần kiểm tra với 10 nếu number nhỏ hơn 5.
Số đã cho nhỏ hơn 5
Số đã cho nhỏ hơn 10
2. Câu lệnh Switch - Case
Mệnh đề switch-case trong java được sử dụng để thực thi 1 hoặc nhiều khối lệnh từ nhiều điều kiện.
Cú pháp:
switch(expression) {
case value :
// Statements
break; // optional
case value :
// Statements
break; // optional
// You can have any number of case statements.
default : // Optional
// Statements
}
Luồng hoạt đông của switch - case
Ví dụ:
package com.company;
public class Main {
public static void main(String args[]) {
int number = 2;
switch (number) {
case 1:
System.out.println("Number = 1");
break;
case 2:
System.out.println("Number = 2");
break;
case 3:
System.out.println("Number = 3");
break;
default:
System.out.println("Number > 3");
}
}
}
Kết quả thu được:
Khi không sử dụng từ khóa 'break' trong mệnh đề switch-case, có nghĩa là các khối lệnh sau case có giá trị phù hợp sẽ được thực thi.
Ví dụ:
package com.company;
public class Main {
public static void main(String args[]) {
int number = 2;
switch (number) {
case 1:
System.out.println("Number = 1");
case 2:
System.out.println("Number = 2");
case 3:
System.out.println("Number = 3");
default:
System.out.println("Number > 3");
}
}
}
Kết quả thu được:
Number = 2
Number = 3
Number > 3