Kiểu dữ liệu mảng trong Java

Như chúng ta đã biết Java có 2 kiểu dữ liệu

  • Kiểu dữ liệu cơ sở (Primitive data type)
  • Kiểu dữ liệu tham chiếu hay dẫn xuất (reference data type): thường có 3 kiểu:
    • Kiểu mảng o Kiểu lớp
    • Kiểu giao tiếp(interface).

Ở đây chúng ta sẽ tìm hiểu một số vấn đề cơ bản liên quan đền kiểu mảng. Kiểu lớp(class) và giao tiếp(interface) chúng ta sẽ tìm hiểu chi tiết trong chương 3 và các chương sau.

1. Khái niệm mảng

Mảng là tập hợp nhiều phần tử có cùng tên, cùng kiểu dữ liệu và mỗi phần tử trong mảng được truy xuất thông qua chỉ số của nó trong mảng.

2. Khai báo mảng

<kiểu dữ liệu>            <tên mảng>[];

hoặc <kiểu dữ liệu>[]               <tên mảng>;

Ví dụ:

int arrInt[]; int[] arrlnt;

int[] arrInt1, arrInt2, arrInt3;

3. Cấp phát bộ nhớ cho mảng

  • Không giống như trong C, C++ kích thước của mảng được xác định khi khai báo. Chẳng hạn như:

int arrInt[100]; // Khai báo náy trong Java sẽ bị báo lỗi.

  • Để cấp phát bộ nhớ cho mảng trong Java ta cần dùng từ khóa new. (Tất cả trong Java đều thông qua các đối tượng). Chẳng hạn để cấp phát vùng nhớ cho mảng trong Java ta làm như sau:

int arrInt = new int[100];

4. Khởi tạo mảng

Chúng ta có     thể  khởi  tạo  giá  trị  ban  đầu cho các   phần tử  của

mảng khi nó được khai báo.

Ví dụ :

int arrInt[]                  = {1, 2, 3};

char arrChar[]            = {‘a’, ‘b     ‘c ’};

String arrStrng[]         = {“ABC”,     “EFG”, ‘GHI’};

5. Truy cập mảng

Chỉ số mảng trong Java bắt đầu tư 0. Vì vậy phần tử đầu tiên có chỉ số là 0, và phần tử thứ n có chỉ số là n-1. Các phần tử của mảng được truy xuất thông qua chỉ số của nó đặt giữa cặp dấu ngoặc vuông ([]).

Ví dụ:

int arrInt[] = {1, 2, 3}; int x = arrInt[0]; // x sẽ có giá trị là 1. int y = arrInt[1]; //y sẽ có giá trị là 2. int z = arrInt[2]; // z sẽ có giá trị là 3.

Lưu ý: Trong nhưng ngôn ngữ lập trình khác (C chẳng hạn), một chuỗi được xem như một mảng các ký tự. Trong java thì

khác, java cung cấp một lớp String để làm việc với đối tượng dữ liệu chuỗi cùng khác thao tác trên đối tượng dữ liệu này.