Khám phá công nghệ

Khám phá các công cụ và kỹ thuật hữu ich cho Lập trình viên

Java Programming: Mảng trong Java

Thắng Nguyễn

Mon, 06 May 2024

Java Programming: Mảng trong Java

Giới thiệu

Trong Java, một mảng là một tập hợp các phần tử có cùng kiểu dữ liệu

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

java
String[] array = new String[100];

Ở đây, mảng trên không thể 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.

Cách khai báo một mảng trong Java

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

java
dataType[] arrayName;
  • dataType - có thể là kiểu dữ liệu nguyên thủy như int, char, double, byte, v.v. hoặc đối tượng trong Java.
  • arrayName - đây là một định danh.

Ví dụ:

java
double[] data;

Ở đây, data là một mảng có thể lưu trữ các giá trị kiểu double.

Nhưng, mảng này có thể lưu trữ bao nhiêu phần tử?

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

java
// khai báo một mảng
double[] data;
// cấp phát bộ nhớ
data = new double[10];

Ở đây, mảng có thể lưu trữ 10 phần tử. Chúng ta cũng có thể khai báo và cấp phát bộ nhớ cho một mảng trong Java trong một câu lệnh duy nhất. Ví dụ:

java
double[] data = new double[10];

Cách 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ụ:

java
// khai báo, khởi tạo mảng
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 ta không 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 xác định kích thước bằng cách đếm số phần tử trong mảng (tức là 5).

Chúng ta cũng có thể khởi tạo mảng trong Java bằng cách sử dụng chỉ mục. Ví dụ:

java
// khai báo một mảng
int[] age = new int[5];
// khởi tạo mảng
age[0] = 12;
age[1] = 4;
age[2] = 5;

Cách truy cập 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ột mảng bằng cách sử dụng chỉ mục. Dưới đây là cú pháp để truy cập phần tử của một mảng:

java
// truy cập phần tử của mảng
array[index]

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

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

java
class Main {
public static void main(String[] args) {
// tạo một mảng
int[] age = {12, 4, 5, 2, 5};

// truy cập từng phần tử của mảng
System.out.println("Truy Cập Các Phần Tử Của Mảng:");
System.out.println("Phần Tử Đầu Tiên: " + age[0]);
System.out.println("Phần Tử Thứ Hai: " + age[1]);
System.out.println("Phần Tử Thứ Ba: " + age[2]);
System.out.println("Phần Tử Thứ Tư: " + age[3]);
System.out.println("Phần Tử Thứ Năm: " + age[4]);
}
}

Output:

r
Truy Cập Các Phần Tử Của Mảng:
Phần Tử Đầu Tiên: 12
Phần Tử Thứ Hai: 4
Phần Tử Thứ Ba: 5
Phần Tử Thứ Tư: 2
Phần Tử Thứ Năm: 5

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

Chúng ta cũng 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.

Lặp qua tất cả các phần tử của 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 Vòng Lặp For

java
class Main {
public static void main(String[] args) {
// tạo một mảng
int[] age = {12, 4, 5};

// lặp qua mảng
// sử dụng vòng lặp for
System.out.println("Sử Dụng Vòng Lặp For:");
for(int i = 0; i < age.length; i++) {
System.out.println(age[i]);
}
}
}

Output:

mathematica
SDng Vòng Lp For:
12 4 5

Trong ví dụ trên, chúng ta 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 trong vòng lặp:

java
age.length

Ở đây, chúng ta sử dụng thuộc tính length 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 for-each

java
class Main {
public static void main(String[] args) {
// tạo một mảng
int[] age = {12, 4, 5};

// lặp qua mảng
// sử dụng vòng lặp for-each
System.out.println("Sử Dụng Vòng Lặp For-Each:");
for(int a : age) {
System.out.println(a);
}
}
}

Output:

mathematica
SDng Vòng Lp For-Each:
12 4 5

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

java
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;
// truy cập tất cả các phần tử sử dụng vòng lặp for-each
// thêm từng phần tử vào tổng
for (int number: numbers) {
sum += number;
}
// lấy tổng số phần tử
int arrayLength = numbers.length;

// tính trung bình
// chuyển đổi trung bình từ int sang double
average = ((double)sum / (double)arrayLength);

System.out.println("Tổng = " + sum);
System.out.println("Trung Bình = " + average);
}
}

Output:

css
Tổng = 36
Trung Bình = 3.6

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

Bên trong vòng lặp, chúng ta tính tổng của từng phần tử. Lưu ý dòng:

java
int arrayLength = numbers.length;

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

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

Như bạn có thể thấy, chúng ta đang chuyển giá trị int thành double. Điều này được gọi là ép kiểu trong Java.

Mảng Đa Chiều Trong Java

Những mảng mà chúng ta đã đề cập cho đến nay được gọi là mảng một chiều. Tuy nhiên, chúng ta có thể khai báo mảng đa chiều trong Java.

Một mảng đa chiều là một mảng của các mảng. Điều này có nghĩa là mỗi phần tử của một mảng đa chiều là một mảng. Ví dụ:

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

Ở đây, chúng ta đã tạo một mảng đa chiều có tên matrix. Đó là một mảng 2 chiều.

Cảm ơn bạn đã theo dõi hướng dẫn về mảng trong Java! Hiểu về mảng là quan trọng để thực hiện các công việc liên quan đến xử lý mảng một cách hiệu quả trong lập trình Java.

0 Comments

Để lại một bình luận