quang cao hosting

Cấu trúc điều khiển if - else trong Java

Xem: 114    Tải: 0   Thảo luận: 0   Mục: Tài liệu và Thủ thuật   Lĩnh vực: none

0 điểm   ( 0 đánh giá ) File đã được kiểm thử

Để khởi đầu cho việc làm quen với các cấu trúc điều khiển lập trình trong Java, trước hết các bạn cần hiểu qua về khái niệm khối lệnh: Khối lệnh (block) là một tập hợp các lệnh nằm trong một cặp dấu ngoặc nhọn (bắt đầu bởi dấu { và kết thúc bởi dấu }). Các khối lệnh có thể lồng nhau, tức là một khối lệnh có thể nằm bên trong một khối lệnh khác.

Bài đầu tiên trong chương cấu trúc điều khiển này tôi sẽ giới thiệu với các bạn về cấu trúc điều khiển đầu tiên đó là cấu trúcif - else và sau đó tôi sẽ đưa ra một số ví dụ, bài tập vận dụng cấu trúc này.

1. Cấu trúc điều khiển if - else.
Cấu trúc if - else có 4 dạng chính mà tôi sẽ giới thiệu ngay sau đây.Trong ngôn ngữ lập trình Java cũng như các ngôn ngữ lập trình khác, cấu trúc điều khiển if - else sẽ kiểm tra kết quả của 1 điều kiện và dựa vào kết quả đó để thực hiện các hành động tương ứng.

Cấu trúc if khuyết else.

Cú pháp
1
2
3
4
if (điều kiên 1) {
    // hành động 1
}
// Lệnh kế tiếp

trong đó điều kiện là 1 biểu thức nào đó bao gồm các biểu thức toán học (so sánh, ...).

Ví dụ dưới đây sẽ so sánh 2 số và hiển thị ra màn hình số nhỏ nhất trong 2 số.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package cau_truc_ifelse;
 
import java.util.Scanner;
 
public class TimSoNhoNhat {
 
    public static void main(String[] args) {
        int firstNumber, secondNumber;
     
        Scanner scanner = new Scanner(System.in);
        System.out.println("Nhập vào số thứ nhất: ");
        firstNumber = scanner.nextInt();
        System.out.println("Nhập vào số thứ hai: ");
        secondNumber = scanner.nextInt();
         
        int minNumber = firstNumber;    // gán giá trị của biến firstNumber cho minNumber
         
        /*
         * So sánh firstNumber với secondNumber
         * Nếu firstNumber lớn hơn secondNumber thì sẽ gán giá trị của secondNumber cho minNumber
         * Còn không thì không làm gì cả và kết thúc câu lệnh điều khiển.
         */
        if (firstNumber > secondNumber)
            minNumber = secondNumber;
         
        System.out.println("Số nhỏ nhất trong 2 số " + firstNumber + " và " + secondNumber +
                        " là " + minNumber);
    }
 
}

Cấu trúc if - else đầy đủ.

Cú pháp
1
2
3
4
5
6
if (điều kiên 1) {
    // hành động 1
} else {
    // hành động 2
}
// Lệnh kế tiếp

Ví dụ dưới đây sẽ kiểm tra số bạn vừa nhập vào là số chẵn hay lẻ.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package cau_truc_ifelse;
 
import java.util.Scanner;
 
public class KiemTraSoChanLe {
 
    public static void main(String[] args) {
        int number;
        Scanner scanner = new Scanner(System.in);
        System.out.println("Nhập vào số cần kiểm tra: ");
        number = scanner.nextInt();
         
        // số chẵn là số chia hết cho 2
        if (number % 2 == 0) {
            System.out.println(number + " là số chẵn");
        } else {
            // ngược lại là số lẻ
            System.out.println(number + " là số lẻ");
        }
    }
 
}

Cấu trúc điều khiển if - else if - else.

Cấu trúc điều khiển if - else if - else là một tập hợp các câu lệnh ifelse ifvà elseđược dùng để giải quyết những yêu cầu phức tạp mà chương trình đề ra.

Cú pháp
1
2
3
4
5
6
7
8
9
10
if (điều kiên 1) {
    // hành động 1
} else if (điều kiện 2) {
    // hành động 2
} else if (điều kiện 3) {
    // hành động 3
} ... else {
    // hành động n
}
// Lệnh kế tiếp

Ví dụ dưới đây sẽ so sánh số bạn nhập vào với 10 và hiển thị ra kết quả so sánh.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package cau_truc_ifelse;
 
import java.util.Scanner;
 
public class SoSanhVoiSo10 {
 
    public static void main(String[] args) {
        float number;
        Scanner scanner = new Scanner(System.in);
         
        System.out.println("Nhập vào số cần so sánh: ");
        number = scanner.nextFloat();
         
        if (number < 10) {
            System.out.println("Số bạn vừa nhập nhỏ hơn 10");
        } else if (number == 10) {
            System.out.println("Số bạn vừa nhập bằng 10");
        } else {
            System.out.println("Số bạn vừa nhập lớn hơn 10");
        }
    }
 
}

Giải thích hoạt động của chương trình:

Các bạn thấy khi biên dịch chương trình tôi nhập vào số 12.1 thì trình biên dịch sẽ tiến hành thực hiện các bước sau:

Bước 1: Kiểm tra số 12.1 có nhỏ hơn 10 hay không? Vì số 12.1 lớn hơn 10 nên kết quả của biểu thức so sánh number < 10 sẽ trả về false, vì vậy câu lệnh trong khối lệnh ifsẽ không được thực hiện.

Bước 2: Kiểm tra số 12.1 có bằng 10 hay không? Kết quả là số 12.1 không bằng 10 nên câu lệnh trong khối lệnh củaelse if (number == 10)sẽ bị trình biên dịch bỏ qua.

Bước 3: Vì tất cả các biểu thức so sánh của ifvà else ifđều sai nên câu lệnh trong elsesẽ được thực thi và lúc này kết quả của chương trình sẽ là "Số bạn vừa nhập lớn hơn 10".

Cấu trúc if - else lồng nhau.

Cấu trúc if - else lồng nhau (hay còn gọi là if bên trong if) là cấu trúc phức tạp nhất của cấu trúc điều khiểnif - else. Cú pháp của cấu trúc này như sau:

Cú pháp
1
2
3
4
5
6
7
8
9
10
if (điều kiện 1) {
    // Nếu điều kiện 1 trả về kết quả đúng thì điều kiện 2 trong if bên dưới sẽ được kiểm tra
    if (điều kiện 2) {
        // Nếu điều kiện 2 trả về kết quả đúng thì hành động trong if sẽ được thực hiện
    } else {
        // Nếu điều kiện 2 trả về kết quả sai thì hành động trong else sẽ được thực hiện
    }
} else {
    // Nếu điều kiện 1 trả về kết quả sai thì hành động trong else này sẽ được thực hiện
}

Ví dụ dưới đây sẽ yêu cầu bạn nhập 3 số bất kỳ từ bàn phím và hiển thị ra màn hình số lớn nhất trong 3 số đó.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package cau_truc_ifelse;
 
import java.util.Scanner;
 
public class TimSoLonNhatTrong3So {
 
    public static void main(String[] args) {
        int firstNumber, secondNumber, thirdNumber, largestNumber;
        Scanner scanner = new Scanner(System.in);
         
        System.out.println("Nhập vào số thứ nhất: ");
        firstNumber = scanner.nextInt();
        System.out.println("Nhập vào số thứ hai: ");
        secondNumber = scanner.nextInt();
        System.out.println("Nhập vào số thứ ba: ");
        thirdNumber = scanner.nextInt();
         
        if (firstNumber >= secondNumber) {
            if (firstNumber >= thirdNumber) {
                largestNumber = firstNumber;
            } else {
                largestNumber = thirdNumber;
            }
        } else if (secondNumber >= thirdNumber) {
            largestNumber = secondNumber;
        } else {
            largestNumber = thirdNumber;
        }
         
        System.out.println("Số lớn nhất trong 3 số " + firstNumber + ", " + secondNumber +
                        " và " + thirdNumber + " là " + largestNumber);
    }
 
}

Giải thích hoạt động của chương trình:

Trong chương trình này, tôi nhập vào 3 số lần lượt là 9, 20 và 2  thì trình biên dịch sẽ tiến hành thực hiện các bước sau:

Bước 1: Biểu thức if (firstNumber >= secondNumber) so sánh số 9 nhỏ hơn 20 nên trả về kết quả là sai nên các câu lệnh tiếp theo trong khối lệnh ifnày sẽ không được thực thi.

Bước 2: Biểu thức else if (secondNumber >= thirdNumber)sẽ so sánh số 20 và 2 thì thấy 20 lớn hơn 2 nên trình biên dịch sẽ gán giá trị 20 cho biến largestNumber.

Bước 3: Hiển thị giá trị của biến largestNumberra màn hình. Quá trình biên dịch kết thúc.

2. Cấu trúc toán tử điều kiện 3 ngôi.
Cú pháp:Toán tử điều kiện 3 ngôi là cấu trúc thay thế của biểu thức điều kiện if - else trong Java.

Cú pháp
1
[Biểu thức điều kiện] ? [Giá trị 1] : [Giá trị 2];

Công dụng: Toán tử điều kiện 3 ngôi sẽ kiểm tra giá trị của biểu thức điều kiện, nếu biểu thức này trả về giá trị đúng thì biểu thức giá trị 1 được tính toán và trở thành giá trị của biểu thức, nếu biểu thức điều kiện trả về giá trị sai thì biểu thức giá trị 1 được tính toán và trở thành giá trị của biểu thức.

Đoạn chương trình dưới đây sẽ kiểm tra số nhập vào là số chẵn hay lẻ bằng cách sử dụng toán tử điều kiện 3 ngôi.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package cau_truc_ifelse;
 
import java.util.Scanner;
 
public class ToanTuDieuKien3Ngoi {
 
    public static void main(String[] args) {
        int number;
        Scanner scanner = new Scanner(System.in);
         
        System.out.println("Nhập vào số cần kiểm tra: ");
        number = scanner.nextInt();
         
        /*
         * Sử dụng toán tử điều kiện 3 ngôi
         */
        String ketQua = (number % 2 == 0) ? "Số " + number + " là số chẵn" : "Số " + number +
            " là số lẻ";
        System.out.println(ketQua);
    }
 
}

Giải thích hoạt động của chương trình: Trong chương trình này, tôi nhập số cần kiểm tra là số 3 thì trình biên dịch sẽ kiểm tra số 3 là số không chia hết cho 2 nên biểu thức number % 2 == 0 sẽ trả về kết quả là sai nên biểu thức phía sau dấu : sẽ được thực thi. Vì vậy, trình biên dịch sẽ hiển thị ra thông báo "Số 3 là số lẻ".

3. Lời kết.

Trong bài này tôi đã giới thiệu đến các bạn cấu trúc điều khiển đầu tiên đó là cấu trúc điều khiển if - else và các dạng chính của nó. Ngoài ra, tôi cũng đã đề cập đến cấu trúc của toán tử điều kiện 3 ngôi. Cuối bài này, tôi có đưa ra một số các bài tập cho các bạn luyện tập. Sang bài sau, chúng ta sẽ tìm hiểu về cấu trúc switch - case và cách sử dụng cấu trúc này. Các bạn theo dõi nhé
!

Cấu trúc điều khiển if - else trong Java

Cấu trúc điều khiển if - else trong Java Đăng ngày 05-07-2019  Để khởi đầu cho việc làm quen với các cấu trúc điều khiển lập trình trong Java, trước hết các bạn cần hiểu qua về khái niệm khối lệnh: Khối lệnh (block) là một tập hợp các lệnh nằm trong một cặp dấu ngoặc nhọn (bắt đầu bởi dấu { và kết thúc bởi dấu }). Các khối lệnh có thể lồng nhau, tức là một khối lệnh có thể nằm bên trong một khối lệnh khác. Bài đầu tiên trong chương cấu trúc điều khiển này tôi sẽ giới thiệu với các bạn về cấu trúc điều khiển đầu tiên đó là cấu trúc if - else và sau đó tôi sẽ đưa ra một số ví dụ, bài tập vận dụng cấu trúc này. 5/10 114

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
Hỗ trợ kỹ thuật cho thành viên:
Số di động (Hotline): 085.99999.25
Thời gian làm việc:
Sáng: 8h-12h; Chiều: 13h30-17h30
(Nghỉ chiều T7, CN và các ngày lễ, tết)
Chat với Megacode
https://www.facebook.com/megacodevn
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2016. All rights reserved. Bản quyền thuộc VinaGon
Địa chỉ: Số 38 Hàng Bè, Hàng Bạc, Hoàn Kiếm, Hà Nội.
Văn phòng giao dịch: Phòng 28, Tầng 6, HH1A Linh Đàm, Hoàng Mai, Hà Nội
Email: info@vinagon.com | Website: www.vinagon.com | Điện thoại: 085.99999.25;