Mảng Java

Trong hướng dẫn này, chúng ta sẽ học cách làm việc với các mảng trong Java. Chúng ta sẽ học cách khai báo, khởi tạo và truy cập các phần tử của mảng với sự trợ giúp của các ví dụ.

Mảng là một tập hợp các kiểu dữ liệu tương tự nhau.

Ví dụ, nếu chúng ta muốn lưu trữ tên của 100 người thì chúng ta có thể tạo một mảng kiểu chuỗi có thể lưu trữ 100 tên.

String[] array = new String[100];

Ở đây, mảng trên không được lưu trữ nhiều hơn 100 tên. Số lượng giá trị trong một mảng Java luôn cố định.

Làm thế nào để khai báo một mảng trong Java?

Trong Java, đây là cách chúng ta có thể khai báo một mảng.

dataType[] arrayName;
  • dataType – it can be primitive data types like intchardoublebyte, etc. or Java objects
  • arrayName – it is an identifier

Ví dụ,

double[] data;

Ở đây, dữ liệu là một mảng có thể chứa các giá trị kiểu double.

Nhưng, mảng này có thể chứa bao nhiêu phần tử?

Câu hỏi hay! Để xác định số phần tử mà một mảng có thể chứa, chúng ta phải cấp phát bộ nhớ cho mảng trong Java. Ví dụ,

// declare an array
double[] data;

// allocate memory
data = new double[10];

Ở đây, mảng có thể lưu trữ 10 phần tử. Chúng ta cũng có thể nói rằng kích thước hoặc chiều dài của mảng là 10.

Trong Java, chúng ta có thể khai báo và cấp phát bộ nhớ của một mảng trong một câu lệnh duy nhất. Ví dụ,

double[] data = new double[10];

Làm thế nào để khởi tạo mảng trong Java?

Trong Java, chúng ta có thể khởi tạo mảng trong quá trình khai báo. Ví dụ,

//declare and initialize and array
int[] age = {12, 4, 5, 2, 5};

Ở đây, chúng ta đã tạo một mảng có tên age và khởi tạo nó với các giá trị bên trong dấu ngoặc nhọn.

Lưu ý rằng chúng tôi chưa cung cấp kích thước của mảng. Trong trường hợp này, trình biên dịch Java tự động chỉ định kích thước bằng cách đếm số phần tử trong mảng (tức là 5).

Trong mảng Java, mỗi vị trí bộ nhớ được liên kết với một số. Số được gọi là chỉ số mảng. Chúng ta cũng có thể khởi tạo mảng trong Java, sử dụng số chỉ mục. Ví dụ,

// declare an array
int[] age = new int[5];

// initialize array
age[0] = 12;
age[1] = 4;
age[2] = 5;
..

Khởi tạo mảng Java

Ghi chú :

  • Array indices always start from 0. That is, the first element of an array is at index 0.
  • If the size of an array is n, then the last element of the array will be at index n-1.

Làm thế nào để truy cập các phần tử của một mảng trong Java?

Chúng ta có thể truy cập phần tử của mảng bằng cách sử dụng số chỉ mục. Đây là cú pháp để truy cập các phần tử của một mảng,

// access array elements
array[index]

Hãy xem một ví dụ về việc truy cập các phần tử mảng bằng cách sử dụng số chỉ mục.

Ví dụ: Truy cập các phần tử mảng

class Main {
 public static void main(String[] args) {
  
   // create an array
   int[] age = {12, 4, 5, 2, 5};

   // access each array elements
   System.out.println("Accessing Elements of Array:");
   System.out.println("First Element: " + age[0]);
   System.out.println("Second Element: " + age[1]);
   System.out.println("Third Element: " + age[2]);
   System.out.println("Fourth Element: " + age[3]);
   System.out.println("Fifth Element: " + age[4]);
 }
}

Đầu ra

Accessing Elements of Array:
First Element: 12
Second Element: 4
Third Element: 5
Fourth Element: 2
Fifth Element: 5

Trong ví dụ trên, lưu ý rằng chúng ta đang sử dụng số chỉ mục để truy cập từng phần tử của mảng.

Chúng ta có thể sử dụng vòng lặp để truy cập tất cả các phần tử của mảng cùng một lúc.

Vòng lặp qua các phần tử mảng

Trong Java, chúng ta cũng có thể lặp qua từng phần tử của mảng. Ví dụ,

Ví dụ: Sử dụng For Loop

class Main {
 public static void main(String[] args) {
  
   // create an array
   int[] age = {12, 4, 5};

   // loop through the array
   // using for loop
   System.out.println("Using for Loop:");
   for(int i = 0; i < age.length; i++) {
     System.out.println(age[i]);
   }
 }
}

Đầu ra

Using for Loop:
12
4
5

Trong ví dụ trên, chúng ta đang sử dụng vòng lặp for trong Java để lặp qua từng phần tử của mảng. Lưu ý biểu thức bên trong vòng lặp,

age.length

Ở đây, chúng ta đang sử dụng thuộc lengthtính của mảng để lấy kích thước của mảng.

Chúng ta cũng có thể sử dụng vòng lặp for-each để lặp qua các phần tử của một mảng. Ví dụ,

Ví dụ: Sử dụng vòng lặp cho từng

class Main {
 public static void main(String[] args) {
  
   // create an array
   int[] age = {12, 4, 5};

   // loop through the array
   // using for loop
   System.out.println("Using for-each Loop:");
   for(int a : age) {
     System.out.println(a);
   }
 }
}

Đầu ra

Using for-each Loop:
12
4
5

Ví dụ: Tính tổng và trung bình của các phần tử mảng

class Main {
 public static void main(String[] args) {

   int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
   int sum = 0;
   Double average;
   
   // access all elements using for each loop
   // add each element in sum
   for (int number: numbers) {
     sum += number;
   }
  
   // get the total number of elements
   int arrayLength = numbers.length;

   // calculate the average
   // convert the average from int to double
   average =  ((double)sum / (double)arrayLength);

   System.out.println("Sum = " + sum);
   System.out.println("Average = " + average);
 }
}

Đầu ra :

Sum = 36
Average = 3.6

Trong ví dụ trên, chúng ta đã tạo một mảng các số được đặt tên . Chúng ta đã sử dụng for...eachvòng lặp để truy cập từng phần tử của mảng.

Bên trong vòng lặp, chúng tôi đang tính toán tổng của mỗi phần tử. Lưu ý dòng,

int arrayLength = number.length;

Ở đây, chúng ta đang sử dụng thuộc tính length của mảng để tính toán kích thước của mảng. Sau đó, chúng tôi tính giá trị trung bình bằng cách sử dụng:

average = ((double)sum / (double)arrayLength);

Như bạn có thể thấy, chúng tôi đang chuyển đổi intgiá trị thành double. Đây được gọi là kiểu ép kiểu trong Java. Để tìm hiểu thêm về cách sắp chữ, hãy truy cập Truyền kiểu Java .

Mảng đa chiều

Mảng chúng ta đã đề cập đến bây giờ được gọi là mảng một chiều. Tuy nhiên, chúng ta có thể khai báo mảng nhiều chiều trong Java.

Mảng nhiều chiều là một mảng của các mảng. Có nghĩa là, mỗi phần tử của mảng nhiều chiều là một mảng chính nó. Ví dụ,

double[][] matrix = {{1.2, 4.3, 4.0}, 
      {4.1, -1.1}
};

Ở đây, chúng ta đã tạo một mảng nhiều chiều có tên là ma trận. Nó là một mảng 2 chiều. Để tìm hiểu thêm, hãy truy cập mảng đa chiều Java .









Gõ tìm kiếm nhanh...