Bài 45: Duyệt mảng trong java

Ngày đăng: 1/2/2023 10:25:31 AM

Sử dụng vòng lặp đơn giản

Bất kỳ vòng lặp đơn giản nào cũng có thể được sử dụng để duyệt các phần tử của một mảng. Ở đây, chúng ta sẽ sử dụng vòng lặp for và vòng lặp while. Đầu tiên, chúng ta sẽ kiểm tra vòng lặp for. Trong trình duyệt mảng, sử dụng một biến số nguyên bắt đầu từ 0 và tiến tới độ dài của mảng trừ đi một:

1    

2

3

for(int i = 0; i < ages.length; i++) {

    ages[i] = 5;

}

Sử dụng vòng lặp while, lưu ý biến i được khai báo bên ngoài vòng lặp:

1    

2

3

4

int i = 0;

while(i < ages.length) {

    ages[i++] = 5;

}

Vòng lặp for thường thích hợp hơn vì chúng ta biết độ dài của mảng và nó đơn giản hơn cho vấn đề này. Đối với cả hai ví dụ, chúng ta đã sử dụng thuộc tính độ dài của mảng để điều khiển vòng lặp. Nó thích hợp hơn khi sử dụng một biến cố định có thể đã được sử dụng để khai báo mảng. Hãy xem xét tình huống định nghĩa lại mảng sau đây:

1

2

3

4

5

6

7

8

9

10

11     

int[] ages = new int[SIZE];

...

for(int i = 0; i < SIZE; i++) {

    ages[i] = 5;

}

// dinh nghia lai mang

int[] ages = new int[DIFFERENT_SIZE];

...

for(int i = 0; i < SIZE; i++) {

    ages[i] = 5;

}

Vòng lặp thứ hai sẽ không thực thi đúng bởi vì chúng ta quên thay đổi hằng số SIZE và thậm chí có thể ném ra một ngoại lệ nếu mảng mới có kích thước nhỏ hơn SIZE. Nếu chúng ta sử dụng thuộc tính length thay vào đó, sẽ không có vấn đề gì. Lưu ý rằng vòng lặp for, như được viết, khai báo biến i trong vòng lặp for. Điều này hạn chế quyền truy cập vào biến chỉ cho các câu lệnh đó trong vòng lặp for. Trong ví dụ vòng lặp while, chúng ta đã khai báo i bên ngoài vòng lặp làm cho nó có thể truy cập bên trong và bên ngoài vòng lặp while. Chúng ta có thể viết lại vòng lặp for để sử dụng biến i bên ngoài. Tuy nhiên, cách khai báo như trên được coi là hình thức tốt hơn để hạn chế quyền truy cập vào một biến chỉ cho những câu lệnh cần truy cập.

Ví dụ sử dụng vòng lặp for và while để duyệt mảng trong java

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

package vn.viettuts;

 

public class Duyetmang1 {

    private static final int SIZE = 5;

 

    public static void main(String[] args) {

        int i;

        int[] ages = new int[SIZE];

        // khoi tao mang

        for (i = 0; i < SIZE; i++) {

            ages[i] = 5 + i;

        }

        // duyet cac phan tu cua mang bang vong lap for

        System.out.println("Su dung vong lap for: ");

        for (i = 0; i < SIZE; i++) {

            System.out.print(ages[i] + " ");

        }

        // duyet cac phan tu cua mang bang vong lap while

        System.out.println(" Su dung vong lap while: ");

        i = 0;

        while (i < SIZE) {

            System.out.print(ages[i] + " ");

            i++;

        }

    }

}

Kết quả:

 Su dung vong lap for: 
 5 6 7 8 9 
 Su dung vong lap while: 
 5 6 7 8 9 
 

Sử dụng câu lệnh for-each

Cú pháp:

1    

2

3

for (ClassName element : array) {

    // element là phần tử của mảng

}

Ví dụ sử dụng lệnh for-each để duyệt mảng trong java

1

2

3

4

5

6

7

8

9

10

11

12     

13

14

15

16

17

18

19

package vn.viettuts;

 

public class Duyetmang2 {

    private static final int SIZE = 5;

 

    public static void main(String[] args) {

        int i;

        int[] ages = new int[SIZE];

        // khoi tao mang

        for (i = 0; i < SIZE; i++) {

            ages[i] = 5 + i;

        }

        // duyet cac phan tu cua mang bang vong lap for

        System.out.println("Su dung vong lap for-each: ");

        for (int age : ages) {

            System.out.print(age + " ");

        }

    }

}

Kết quả:

 Su dung vong lap for-each: 
 5 6 7 8 9 

Nguồn tin: viettuts