Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Thành Thạo Java Control Flow: If…Else & Switch Statement Giải Thích

Trong Java, có nhiều cách chúng ta có thể kiểm soát luồng (flow) của chương trình. Control flow statements (câu lệnh điều khiển luồng), thay đổi hoặc phá vỡ luồng thực thi bằng cách triển khai các câu lệnh quyết định (decision making statements).

Các câu lệnh quyết định trong Java là:

  • if statement
  • if...else statement
  • switch statement

Bài viết này cung cấp mô tả và ví dụ code của các câu lệnh điều khiển luồng Java.

Java if Statement

Cú pháp của if statement:

if(condition) {
    // thực thi code chỉ nếu condition evaluate thành true
}

Từ khóa if dùng để kiểm tra xem condition có true hay không. Nếu true, code được chỉ định trong ngoặc nhọn sẽ được thực thi.

Ví dụ:

if(month == 'December') {
    System.out.println("Winter Season");
}

Lưu ý: Condition bên trong ngoặc đơn phải là biểu thức boolean (boolean expression). Tức là kết quả của biểu thức phải evaluate thành true hoặc false.

Chúng ta dùng các toán tử toán học thông thường để evaluate condition:

  • Nhỏ hơn - a < b
  • Nhỏ hơn hoặc bằng - a <= b
  • Lớn hơn - a > b
  • Lớn hơn hoặc bằng - a >= b
  • Bằng - a == b
  • Khác - a != b

Chúng ta có thể dùng một condition hoặc nhiều condition, nhưng kết quả phải luôn là boolean.

Khi dùng nhiều condition, chúng ta dùng logical AND && và logical OR ||.

Ví dụ dùng logical OR trong if statement:

if(month == 'December' || month == 'January') {
    System.out.println("Winter Season");
}

Ví dụ dùng logical AND trong if statement:

if(month == 'December' && day == '25') {
    System.out.println("Christmas Day!");
}

Lưu ý: Logical AND && trả về true nếu cả hai statement đều true. Logical OR || trả về true nếu bất kỳ một statement là true.

Java else Statement

Nếu kết quả của if statement evaluate thành false và chúng ta muốn hành động trên kết quả đó, thì chúng ta dùng else statement.

else statement đi ngay sau ngoặc nhọn đóng của if statement.

Ví dụ:

int temperature;
if(temperature <= 0) {
    System.out.println("Water in solid state");
} else {
    System.out.println("Water in liquid state");
}

Trong ví dụ trên, nếu temperature là 0 hoặc nhỏ hơn 0, "Water in solid state" được in ra console. else statement sẽ không được thực thi.

Nếu tuy nhiên, temperature lớn hơn 0, "Water in liquid state" được in ra console.

Shorthand if…else Statement (Toán Tử Ba Ngôi)

Chúng ta cũng có thể dùng ký hiệu viết tắt cho if...else statement gọi là ternary operator (toán tử ba ngôi).

Cú pháp cho ternary operator:

variable = (condition) ? expressionTrue : expressionFalse;

Đầu tiên, evaluate condition trong (). Nếu phép toán evaluate thành true, thực thi biểu thức giữa ? và :, ngược lại thực thi biểu thức sau :.

Cách giúp nhớ: (condition) ? true : false

Java else if Statement

Chúng ta có thể dùng nhiều if và else statement miễn là condition chưa được thỏa mãn.

Cú pháp cho else if:

if(condition1) {
    // thực thi code chỉ nếu condition1 evaluate true
} else if(condition2) {
    // thực thi code nếu condition2 evaluate true
} else {
    // thực thi code nếu cả hai condition evaluate false
}

Lưu ý: Chúng ta có thể có nhiều else if statement nhưng luôn kết thúc bằng else statement.

Ví dụ:

int temperature;
if(temperature <= 0) {
    System.out.println("Water in solid state");
} else if(temperature >= 100){
    System.out.println("Water in gas state");
} else {
    System.out.println("Water in liquid state");
}

Java switch Statement

Một cách khác để kiểm soát luồng chương trình là qua switch statement. switch statement dùng khi chúng ta có nhiều lựa chọn và trong mỗi case chúng ta thực thi code khác nhau.

Nó hoạt động tương tự như nhiều if...else statement.

Cú Pháp Switch

Cú pháp của switch statement:

switch(expression) {
    case a:
        // thực thi code
        break;
    case b:
        // thực thi code khác
        break;
    default:
        // thực thi code mặc định
}

Đầu tiên một expression được evaluate. Kết quả của expression được so sánh với mỗi case. Nếu kết quả khớp với bất kỳ case condition nào, block code liên quan được thực thi.

Từ khóa break dùng để thoát khỏi block switch. Điều này quan trọng vì một khi tìm thấy match, chúng ta không muốn tiếp tục evaluate các case condition khác.

Từ khóa default được thực thi nếu không case nào khớp với giá trị của switch expression.

Cả break và default đều optional, nhưng khuyến khích cho good coding practice.

Ví Dụ Switch Statement

Code dưới dùng switch statement để xem ngôn ngữ có được hỗ trợ hay không

String lang = "en";
switch (lang) {
    case "en":
        System.out.println("English");
        break;
    case "fr":
        System.out.println("French");
        break;
    case "de":
        System.out.println("Deutsch");
        break;
    default:
        System.out.println("Language not supported");
}

Đầu ra:

English

Tóm Tắt

Trong bài viết này, chúng ta đã bao gồm Java control flow statements là if, else if và switch statements.