If - Else

Duy Văn | 06/03/2025


Java hỗ trợ 4 loại cấu trúc điều kiện, 3 trong số đó phải đi với nhau:

  • Nhóm if - else - else if:
    • if: khởi đầu codeblock điều kiện, sẽ được thực thi nếu điều kiện nêu ra thoả mãn (tức là true)
    • else if (optional): khởi đầu codeblock điều kiện tiếp theo, được thực thi nếu điều kiện trước nó không thoả mãn và điều kiện nêu ra thoả mãn. Có thể có nhiều else if nhưng chỉ có thể có một if và một else
    • else (optional): khởi đầu codeblock cuối cùng, được thực thi nếu tất cả các điều kiện trước nó không thoả mãn
  • Nhóm switch-case:
    • switch: khởi đầu codeblock điều kiện, sẽ kiểm tra giá trị của biến hoặc biểu thức và thực thi codeblock tương ứng với giá trị đó
    • case: khởi đầu codeblock điều kiện, sẽ được thực thi nếu giá trị của biến hoặc biểu thức bằng với giá trị nêu ra
    • default: khởi đầu codeblock cuối cùng, sẽ được thực thi nếu không có case n

If đơn

If đơn là cấu trúc điều kiện đơn giản nhất

if (20 > 18){
  System.out.println("20 is greater than 18");
}

If - Else

If - Else là cấu trúc điều kiện có thể thực thi một trong hai codeblock

if (18 < 20){
  System.out.println("18 is less than 20");
} else {
  System.out.println("18 is not less than 20");
}

If - Else If - Else

If - Else If - Else là cấu trúc điều kiện có thể thực thi một trong nhiều codeblock

int num = 20;
if (num < 20){
  System.out.println("Number is less than 20");
} else if (num == 20){
  System.out.println("Number is equal to 20");
} else {
  System.out.println("Number is greater than 20");
}

Switch - Case

Switch - Case là cấu trúc điều kiện kiểm tra giá trị của biến hoặc biểu thức và thực thi codeblock tương ứng

Nó có dạng như sau:

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Ví dụ cụ thể với

int day = 4;
switch (day) {
  case 1:
    System.out.println("Monday");
    break;
  case 2:
    System.out.println("Tuesday");
    break;
  case 3:
    System.out.println("Wednesday");
    break;
  case 4:
    System.out.println("Thursday");
    break;
  case 5:
    System.out.println("Friday");
    break;
  case 6:
    System.out.println("Saturday");
    break;
  case 7:
    System.out.println("Sunday");
    break;
  default:
    System.out.println("Invalid day");
}

break là để kết thúc một case, nếu không có break thì code sẽ tiếp tục chạy xuống các case tiếp theo cho đến khi gặp break hoặc kết thúc switch

default là codeblock cuối cùng, sẽ được thực thi nếu không có case nào thoả mãn

Short hand if-else

Để viết một block if - else ngắn không nhất thiết phải đi qua cách viết block if - else thông thường, nếu phần code chỉ liên quan đến gán giá trị thì chúng ta có cú pháp sau:

variable = (condition) ? expressionTrue : expressionFalse;

Ví dụ

int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);

Nó sẽ tương tự như code sau:

int time = 20;
String result;
if (time < 18) {
  result = "Good day.";
} else {
  result = "Good evening.";
}
System.out.println(result);