Chào các bạn đã đến với chủ đề tiếp theo của mình. Hôm nay, mình sẽ tiếp tục giới thiệu một số lỗi thường gặp khi sử dụng mảng trong Java. Ở bài này, mình sẽ đi qua những nội dung như sau:
1. Gán số phần tử nhỏ hơn kích thước mảng
Chúng ta có thể tạo một mảng có kích thước 5 và chỉ gán 2 phần tử cho mảng. Trong trường hợp này, các phần tử mảng sẽ được điền giá trị mặc định. Ví dụ:
class Main {
public static void main(String[] args) {
int[] numbers = new int[5];
// assign elements
numbers[0] = 5;
numbers[1] = 3;
// access array elements
for (int index = 0; index < numbers.length; ++index) {
System.out.println(numbers[index]);
}
}
}
5
3
0
0
0
Tại đây, bạn có thể thấy các phần tử còn lại của mảng được gán giá trị 0 (giá trị mặc định của int
).
Tuy chúng ta có thể khai báo như vậy, nhưng mà không nên nhé. Chúng ta sẽ sử dụng cách khác tối ưu hơn. Mình sẽ giới thiệu ở những bài sau.
2. Khai báo và khởi tạo mảng
Trong Java, chúng ta không thể khai báo và khởi tạo mảng một cách riêng biệt. Ví dụ:
// Invalid Code
int[] numbers = new int[5];
numbers = {1, 2, 3, 4, 5};
// Valid Code
int[] numbers = {1, 2, 3, 4, 5};
3. Lặp đến kích thước mảng
Chúng ta biết rằng chỉ số mảng bắt đầu từ 0
, vì vậy phần tử cuối cùng của mảng sẽ có chỉ số là kích thước mảng - 1
. Ví dụ:
int numbers[] = {35, 42, 56, 62, 67};
for(int i = 0; i <= numbers.length; i++) {
System.out.println(numbers[i]);
}
Ở đây, numbers.length
bằng 5
, vì vậy chúng ta chạy vòng lặp từ 0
đến 5
. Trong trường hợp này, chương trình chạy bình thường cho đến i = 4
.
Nhưng, khi i
là 5
, chúng ta sẽ gặp lỗi vì không có phần tử nào ở numbers[5]
bên trong lỗi.
Đó là lý do tại sao điều quan trọng cần nhớ là chỉ số mảng bắt đầu từ 0
và phần tử cuối cùng sẽ có chỉ số là kích thước mảng - 1
.
Nguồn:
https://tek4.vn/khoa-hoc/lap-trinh-huong-doi-tuong-voi-java/cac-loi-thuong-gap-khi-su-dung-mang