Mệnh đề điều kiện (if, if..else) trong java với ví dụ cụ thể

Khi lập trình sẽ có lúc bạn cần thực hiện một tập lệnh dựa vào một điều kiện cụ thể đó chính là lý do vì sao có mệnh đề điều kiện trong java.

Trong java chúng ta có các loại mệnh đề điều kiện sau:

  • Mệnh đề if
  • Mệnh đề if lồng nhau
  • Mệnh đề if – else
  • Mệnh đề if – else if

Mệnh đề if 

Chúng ta sẽ bắt đầu với mệnh điều kiện đơn giản nhất mệnh đề if

Cú pháp

if (condition) {
    // do something
}

Mệnh đề if sẽ thực hiện các tập lệnh được viết ở bên trong cặp dấu “{}” nếu thoả điều kiện.

Sơ đồ

Câu điều kiện trong java

Ví dụ: Đề bài cho bạn một số nguyên a, yêu cầu hãy xuất ra màn hình console “La so duong” nếu a lớn 0. 

public class Main {
    
    public static void main(String[] args) {
        int a = 10;
        if (a > 0) {
            System.out.println("La so duong");
        }
    }
}

Output: La so duong

Mệnh đề if lồg nhau

Khi một câu điều kiện nằm bên trong một câu điều kiện khác thì ta gọi đó là câu điều kiện lồng.

Cú pháp 

if(condition_1) {
    // do something

   if(condition_2) {
      // do something
   }
}

Khi điều kiện condition_1 thoả, java sẽ thực hiện code bên trong thân mệnh đề if đầu tiên và sẽ kiểm tra tiếp điều kiện condition_2 nếu điều kiện condition_2 thoả sẽ tiếp tục thực hiện code bên trong mệnh đề if.

Ví dụ: Cho một số nguyên a, kiểm tra nếu a > 0 thì xuất ra “La so duong” và tiếp tục kiểm tra nếu a lớn 5 thì xuất ra “Lon hon 10”

public class Main {

    public static void main(String[] args) {
        int a = 11;
        if (a > 0) {
            System.out.println("La so duong");
            if (a > 10) {
                System.out.println("Lon hon 10");
            }
        }

    }
}

Output: 

La so duong

Lon hon 10

Mệnh đề if – else

Cú pháp

if (condition) {
    // do something
} else {
    // do something
}

Sơ đồ

Câu điều kiện

Ví dụ: Cho một số nguyên a, kiểm tra nếu a > 0 thì xuất ra “La so duong” ngược lại thì xuất ra “”Khong phai so duong” 

public class Main {

    public static void main(String[] args) {
        int a = 11;
        if (a > 0) {
            System.out.println("La so duong");
        } else {
            System.out.println("Khong phai so duong");
        }

    }
}

Output: La so duong

Mệnh đề if – else if 

Khi mệnh đề điều kiện của bạn có hơn 2 trường hợp thì bắt buồn chúng ta sẽ cần đến mệnh đề if – else – if

if(condition_1) {
   // Thực hiện nếu condition_1 true
}
else if(condition_2) {
   // Thực hiện nếu condition_2 đúng và condition_1 false
}
else if(condition_3) {
   // Thực hiện nếu condition_3 đúng và condition_1, condition_2 false
}
.
.
.
else {
   // Nếu tất cả các điều kiện trên sai thì thực hiện code trong else
}

Ví dụ: Cho số nguyên a và b, Xuất ra “Deu la duong” nếu a và b đều lớn hơn 0, “Nguoc nhau” nếu a dương b âm hoặc a âm b dương. “Be hon hoac bang 0” nếu a và b đều nhỏ hơn 0.

public class Main {

    public static void main(String[] args) {
        int a = 11, b = -1;
        if (a > 0 && b > 0) {
            System.out.println("Deu la duong");
        } else if (a < 0 && b > 0) {
            System.out.println("Nguoc nhau");
        } else if (a > 0 && b < 0) {
            System.out.println("Nguoc nhau");
        }
        else {
            System.out.println("Be hon hoac bang 0");
        }

    }
}

Output: Nguoc nhau

Như vậy chúng ta đã tìm hiểu về câu điều kiện trong java rồi. Thế nhưng mình tự đặt câu hỏi nếu như mà chúng ta có quá nhiều điều kiện cần kiểm tra thì cứ if else nhiều như thế thì code có xấut không ta.

Ở phần sau chúng ta sẽ có một cấu trúc điều kiện mới giúp code chúng ta dễ nhìn hơn. Nhớ xem nhé các bạn.

Bài tập thực hành

1, Viết chương trình java nhập vào một số nguyên a là in ra “so duong” nếu a > 0, “so am” nếu a < 0.

2, Viết chương trình java giải phương trình bậc 2 aX2+ bX + c. Với a, b, c là 2 số nhập vào từ bàn phím.

3, Viết chương trình java nhập vào số nguyên a có giá trị 1 đến 7, tương ứng với số ngày trong tuần. Xuất ra ngày tương ứng trong tuần. ví dụ 1 => chu nhat, 2 => thu hai, 7 => thu bay

4, Viết chương trình java nhập vào số nguyên a là năm tương ứng. Kiểm tra xem năm đó có phải là năm nhuận hay không?

Bài tham khảo

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        /*
            1, Viết chương trình java nhập vào một số nguyên a là in ra "so duong" nếu a > 0, "so am" nếu a < 0.
        */



        System.out.print("Nhap a: ");
        int a_int = scanner.nextInt();

        if (a_int > 0) {
            System.out.println("so duong");
        }

        if (a_int < 0) {
            System.out.println("so am");
        }

        /*
             2, Viết chương trình java giải phương trình bậc 2 aX2+ bX + c. Với a, b, c là 2 số nhập vào từ bàn phím.
         */

        System.out.print("Nhap a: ");
        double a = scanner.nextDouble();
        System.out.print("Nhap b: ");
        double b = scanner.nextDouble();
        System.out.print("Nhap c: ");
        double c = scanner.nextDouble();

        double result = b * b - 4.0 * a * c;

        if (result > 0.0) {
            double r1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
            double r2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
            System.out.println("Phuong trinh co 2 nghiem " + r1 + " and " + r2);
        } else if (result == 0.0) {
            double r1 = -b / (2.0 * a);
            System.out.println("Phuong trinh co 1 nghiem " + r1);
        } else {
            System.out.println("Phuong trinh vo nghiem");
        }


        /*

            3, Viết chương trình java nhập vào số nguyên a có giá trị 1 đến 7, tương ứng với số ngày trong tuần.
             Xuất ra ngày tương ứng trong tuần. ví dụ 1 => chu nhat, 2 => thu hai, 7 => thu bay
         */



        System.out.print("Nhap a: ");
        a = scanner.nextInt();
        if (a == 1){
            System.out.println("Chu nhat");
        } else if (a == 2) {
            System.out.println("Thu hai");
        } else if (a == 3) {
            System.out.println("Thu ba");
        } else if (a == 4) {
            System.out.println("Thu tu");
        } else if (a == 5) {
            System.out.println("Thu nam");
        } else if (a == 6) {
            System.out.println("Thu sau");
        } else if (a == 7) {
            System.out.println("Thu bay");
        } else {
            System.out.println("Khong hop le");
        }


        /*
            4, Viết chương trình java nhập vào số nguyên a là năm tương ứng. Kiểm tra xem năm đó có phải là năm nhuận hay không?
         */

        System.out.print("Nhap a: ");
        int year = scanner.nextInt();

        boolean x = (year % 4) == 0;
        boolean y = (year % 100) != 0;
        boolean z = ((year % 100 == 0) && (year % 400 == 0));

        if (x && (y || z))
        {
            System.out.println(year + " la nam nhuan");
        }
        else
        {
            System.out.println(year + " khong phai la nam nhuan");
        }
    }
}

‹Previous Next›

5 1 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x