Java Tut 15: Mảng trong Java
Mảng Java
Mảng được sử dụng để lưu trữ nhiều giá trị trong một biến duy nhất, thay vì khai báo các biến riêng biệt cho từng giá trị.
Để khai báo một mảng, hãy xác định kiểu biến bằng dấu ngoặc vuông :
String[] cars;
Bây giờ chúng ta đã khai báo một biến chứa một mảng chuỗi. Để chèn các giá trị vào nó, chúng ta có thể sử dụng một mảng chữ – đặt các giá trị trong danh sách được phân tách bằng dấu phẩy, bên trong dấu ngoặc nhọn:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Để tạo một mảng các số nguyên, bạn có thể viết:
int[] myNum = {10, 20, 30, 40};
Truy cập các phần tử của một mảng
Bạn truy cập một phần tử mảng bằng cách tham chiếu đến số chỉ mục.
Câu lệnh này truy cập giá trị của phần tử đầu tiên trong ô tô:
Thí dụ
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]);
// Outputs Volvo
Lưu ý: Chỉ mục mảng bắt đầu bằng 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.
Thay đổi một phần tử mảng
Để thay đổi giá trị của một phần tử cụ thể, hãy tham khảo số chỉ mục:
Thí dụ
cars[0] = "Opel";
Thí dụ
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
System.out.println(cars[0]);
// Now outputs Opel instead of Volvo
Độ dài mảng
Để biết một mảng có bao nhiêu phần tử, hãy sử dụng thuộc length
tính:
Thí dụ
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars.length);
// Outputs 4
Vòng qua một mảng
Bạn có thể lặp qua các phần tử mảng với for
vòng lặp và sử dụng thuộc length
tính để chỉ định số lần vòng lặp sẽ chạy.
Ví dụ sau xuất ra tất cả các phần tử trong mảng ô tô :
Thí dụ
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < cars.length; i++) {
System.out.println(cars[i]);
}
Lặp qua một mảng với For-each
Ngoài ra còn có một vòng lặp ” for-each “, được sử dụng riêng để lặp qua các phần tử trong mảng:
Cú pháp
for (type variable : arrayname) {
...
}
Ví dụ sau xuất tất cả các phần tử trong mảng ô tô , sử dụng vòng lặp ” cho-từng “:
Thí dụ
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}
Ví dụ trên có thể được đọc như thế này: đối với mỗi String
phần tử (được gọi là i – như trong i ndex) trong ô tô , hãy in ra giá trị của i .
Nếu bạn so sánh for
vòng lặp và vòng lặp for-each , bạn sẽ thấy rằng phương thức for-each dễ viết hơn, nó không yêu cầu bộ đếm (sử dụng thuộc tính length) và dễ đọc hơn.
Mảng đa chiều
Mảng nhiều chiều là một mảng của các mảng.
Để tạo một mảng hai chiều, hãy thêm mỗi mảng trong tập hợp các dấu ngoặc nhọn của riêng nó :
Thí dụ
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers bây giờ là một mảng với hai mảng là các phần tử của nó.
Để truy cập các phần tử của mảng myNumbers , hãy chỉ định hai chỉ mục: một cho mảng và một cho phần tử bên trong mảng đó. Ví dụ này truy cập phần tử thứ ba (2) trong mảng thứ hai (1) của myNumbers:
Thí dụ
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
int x = myNumbers[1][2];
System.out.println(x); // Outputs 7
Chúng ta cũng có thể sử dụng một for loop
bên trong một cái khác for loop
để lấy các phần tử của mảng hai chiều (chúng ta vẫn phải trỏ đến hai chỉ mục):
Thí dụ
public class Main {
public static void main(String[] args) {
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
for (int i = 0; i < myNumbers.length; ++i) {
for(int j = 0; j < myNumbers[i].length; ++j) {
System.out.println(myNumbers[i][j]);
} }
}
}