quang cao hosting

Vòng lặp for trong Java

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

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

1. Cú pháp, cách hoạt động và công dụng vòng lặp for


Vòng lặp for là cấu trúc điều khiển lặp được dùng để thực hiện một lệnh hay một khối lệnh với số lần lặp được xác định trước. Vì vậy, cấu trúc lặp này rất mạnh và có thể sử dụng rất linh động trong nhiều tình huống khi viết chương trình.Công dụng

Cú pháp

1
2
3
4
for ([biểu_thức_1]; [biểu_thức_2]; [biểu_thức_3]) {
    // Các lệnh
}
// Lệnh kế tiếp

trong đó:

  • biểu_thức_1 là biểu thức tính ra giá trị khởi đầu cho biến của for.
  • biểu_thức_2 là biểu thức tính ra giá trị điều kiện lặp của for.
  • biểu_thức_3 là bước nhảy của biến sau mỗi lần lặp.
  • Các lệnh là lệnh thực hiện trong thân của vòng lặp for.

Lưu ý: Các biểu thức có thể vắng mặt trong cấu trúc của vòng lặp for nhưng các dấu chấm phẩy vẫn phải có. Mỗi biểu thức trong cấu trúc for có thể là một hoặc nhiều biểu thức đơn. Nếu trong trường hợp một biểu thức có nhiều biểu thức đơn thì các biểu thức đơn được viết cách nhau bởi dấu phẩy (,) và các biểu thức đơn đó được thực hiện từ trái qua phải.

Cách hoạt động

Quy trình thực hiện trải qua các bước như sau:

Bước 1: Các lệnh ở biểu_thức_1 được thực hiện trước tiên. Trong biểu thức này có thể có nhiều biểu thức đơn và viết ngăn cách nhau bởi dấu phẩy.

Bước 2: Kiểm tra giá trị của biểu_thức_2 (điều kiện lặp). Nếu biểu thức này có giá trị đúng (true) thì chuyển sang Bước 3, ngược lại thì chuyển đến Bước 6.

Bước 3: Lần lượt thực hiện các lệnh trong thân vòng lặp.

Bước 4: Thực hiện các lệnh trong biểu_thức_3. Trong biểu thức này có thể có nhiều biểu thức đơn và viết ngăn cách nhau bởi dấu phẩy.

Bước 5: Quay lại Bước 2.

Bước 6: Thực hiện các lệnh bên ngoài vòng lặp for.

Ví dụ

Ví dụ này sẽ in ra màn hình 5 số nguyên đầu tiên.

 

1
2
3
4
5
6
public static void main(String[] args) {
 
        for (int i = 1; i <= 5; i++) {
            System.out.println(i);
        }
    }

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

Bước 1: Khởi tạo biến i = 1 và vì 1 < 5 nên thực hiện câu lệnh bên trong for (hiển thị số 1 ra màn hình).

Bước 2: Tăng i lên 1 đơn vị, lúc này i = 2 < 5 nên hiển thị số 2 ra màn hình.

Bước 3: Tăng i lên 1 đơn vị, lúc này i = 3 < 5 nên hiển thị số 3 ra màn hình

Bước 4: Tăng i lên 1 đơn vị, lúc này i = 4 < 5 nên hiển thị số 4 ra màn hình.

Bước 5: Tăng i lên 1 đơn vị, lúc này i = 5 = 5 nên hiển thị số 5 ra màn hình.

Bước 6: Tăng i lên 1 đơn vị, lúc này i = 6 > 5 nên không thực hiện câu lệnh bên trong for. Chương trình kết thúc.

2. Các dạng thường gặp của vòng lặp for


Dạng 1: Vòng lặp for không có biểu_thức_1 và biểu_thức_3 (ý nghĩa giống vòng lặp while).

1
2
3
4
5
int sum = 0, k = 1;
for (; sum < 100; ) {
    sum += k;
    k++;
}

Dạng 2: Vòng lặp for không có biểu_thức_1.

1
2
3
4
int sum = 0, k = 1;
for (; sum < 100; k++) {
    sum += k;
}

Dạng 3: Vòng lặp for vắng mặt cả 3 biểu thức, khi đó thân của vòng lặp sẽ được thực hiện liên tục. Lúc đó, trong thân của vòng lặp phải có lệnh để thoát ra ngoài vòng for (chi tiết về phần này tôi sẽ giới thiệu trong bài sau).

1
2
3
4
for (;;) {
    // các lệnh
    // lưu ý: phải có lệnh để thoát ra ngoài vòng lặp
}

Dạng 4: Vòng lặp for đầy đủ.

1
2
3
4
int sum = 0, k;
for (k = 1; sum < 100; k++) {
    sum += k;
}

 

Dạng 5: Vòng lặp for đầy đủ và biểu_thức_1 có 2 biểu thức đơn.

 

1
2
3
4
int sum, k;
for (sum = 0, k = 1; sum < 100; k++) {
    sum += k;
}

 

Dạng 6: Vòng lặp for lồng nhau.

 

1
2
3
4
5
for (int row = 1; row <= 2; row++) {
    for (int col = 1; col <= 2; col++) {
        System.out.println(row + ", " + col);
    }
}

3. Ví dụ vòng lặp for


Vòng lặp for không có biểu_thức_1 và biểu_thức_3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package vong_lap_for;
 
public class InCacSoNhoHon3 {
 
    public static void main(String[] args) {
        int number = 0;
         
        /*
         * Trong trường hợp biến number còn nhỏ hơn 3
         * thì in ra giá trị của biến và sau đó tăng lên 1.
         */
        for (; number <3; ) {
            System.out.println(number);
            number++;
        }
    }
 
}

Vòng lặp for có biểu_thức_1 và biểu_thức_3 có 2 biểu thức đơn

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package vong_lap_do_while;
 
import java.util.Scanner;
 
public class HienThiHaiSoKhacNhau {
 
    public static void main(String[] args) {
        int number1, number2;
        Scanner scanner = new Scanner(System.in);
         
        /*
         * Khởi tạo biến number1 = 0 và number2 = number1 + 3.
         * Nếu number2 còn nhỏ hơn 8 thì hiển thị biến number1 và number2
         * Tăng biến number1 và number2 lên 1 và tiếp tục kiểm tra.
         */
        for (number1 = 0, number2 = number1 + 3; number2 < 8; number1++, number2++) {
            System.out.println(number1 + ", " + number2);
        }
    }
 
}

Vòng lặp for lồng nhau

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package vong_lap_do_while;
 
import java.util.Scanner;
 
public class HienThiHaiSoKhacNhau {
 
    public static void main(String[] args) {
        int number1, number2;
        Scanner scanner = new Scanner(System.in);
         
        // Vòng lặp for bên ngoài thực thi 3 lần với row = 1, 2, 3.
        for (number1 = 1; number1 <= 3; number1++) {
            // Mỗi lần lặp for bên ngoài
            // thì vòng lặp for trong sẽ thực thi 2 lần với col = 1, 2.
            for (number2 = 1; number2 <= 2; number2++) {
                System.out.println("number1 = " + number1 + ", number2 = " + number2);
            }
        }
    }
}

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

Bước 1: Vòng lặp for bên ngoài khởi tạo biến number1 =  1 và vì 1 < 3 nên chuyển sang Bước 2.

Bước 2: Vòng lặp for bên trong khởi tạo biến number2 = 1 và vì 1 < 2 nên sẽ hiển thị dòng number1 = 1number2 = 1 ra màn hình.

Bước 3: Thực hiện biểu thức number2++, lúc này number2 = 2 và vì 2 = 2 nên sẽ hiển thị dòng number1 = 1number2 = 2 ra màn hình.

Bước 4: Quay lại vòng lặp for bên ngoài thực hiện biểu thức number1++, lúc này biến number1 = 2 và vì 2 < 3 nên chuyển sang Bước 5.

Bước 5: Vòng lặp for bên trong khởi tạo biến number2 = 1 và vì 1 < 2 nên sẽ hiển thị dòng number1 = 2number2 = 1 ra màn hình.

Bước 6: Thực hiện biểu thức number2++, lúc này number2 = 2 và vì 2 = 2 nên sẽ hiển thị dòng number1 = 2number2 = 2 ra màn hình.

Bước 7: Quay lại vòng lặp for bên ngoài thực hiện biểu thức number1++, lúc này biến number1 = 3 và vì 3 = 3 nên chuyển sang Bước 8.

Bước 8: Vòng lặp for bên trong khởi tạo biến number2 = 1 và vì 1 < 2 nên sẽ hiển thị dòng number1 = 3number2 = 1 ra màn hình.

Bước 9: Thực hiện biểu thức number2++, lúc này number2 = 2 và vì 2 = 2 nên sẽ hiển thị dòng number1 = 3number2 = 2 ra màn hình.

Bước 10: Quay lại vòng lặp for bên ngoài thực hiện biểu thức number1++, lúc này biến number1 = 4 và vì 4 > 3 nên kết thúc vòng lặp.

4. Lời kết


Đây là bài vòng lặp cuối cùng trong Java - vòng lặp for. Sang bài sau, tôi sẽ giới thiệu đến các bạn các từ khóa breakvà continuedùng để thoát khỏi vòng lặp. Các bạn cố gắng nắm chắc chương này vì đây là một phần kiến thức rất quan trọng được sử dụng trong hầu hết các chương trình Java. Cuối bài này, tôi sẽ đưa ra các bài tập để các bạn luyện tập, các bạn theo dõi nhé
!

Vòng lặp for trong Java

Vòng lặp for trong Java Đăng ngày 19-08-2019  Trong bài này, tôi sẽ hướng dẫn các bạn tìm hiểu về cấu trúc của vòng lặp cuối cùng đó là vòng lặp for. Khác với 2 vòng lặp while và do - while (lặp với số lần chưa xác định trước) thì vòng lặp for là một cấu trúc lặp có số lần lặp được xác định trước. Sau đây chúng ta sẽ đi vào tìm hiểu về cấu trúc lặp này. 9/10 32

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;