1. Mảng là nơi chứa các phần tử
Bạn có thể đã nghe nói rằng máy tính có thể xử lý lượng thông tin khổng lồ. Tất nhiên, câu điều kiện ( if-else
) và vòng lặp ( for
, while
) là một trợ giúp lớn ở đây. Nhưng họ chỉ có thể đưa bạn cho đến nay. Rốt cuộc, dữ liệu bạn xử lý cần được lưu trữ bằng cách nào đó.
Giống như hầu hết các ngôn ngữ lập trình, Java hỗ trợ xử lý dữ liệu bằng cách cung cấp thứ tuyệt vời này được gọi là mảng ( Array
lớp). Đôi khi chúng còn được gọi là bảng.
Mảng là một đối tượng đặc biệt cho phép bạn lưu trữ không phải một giá trị mà là nhiều giá trị .
Trước đó, chúng tôi đã so sánh một biến với một hộp (trong đó bạn có thể lưu trữ bất kỳ giá trị nào). Tiếp tục phép loại suy đó, chúng ta có thể coi mảng là một hộp có các ngăn bên trong. Mỗi ngăn trong "hộp" (mảng) có một số. Tất nhiên, việc đánh số bắt đầu từ số không...
Hoặc chúng ta có thể thực hiện một phép loại suy khác. Hãy so sánh một ngôi nhà bình thường và một tòa nhà chung cư cao tầng. Một ngôi nhà bình thường được ở bởi một gia đình, nhưng một tòa nhà chung cư cao tầng được chia thành các căn hộ. Nếu bạn muốn gửi thư cho một gia đình sống trong một ngôi nhà bình thường, bạn cho biết địa chỉ duy nhất của ngôi nhà. Và để gửi thư cho một gia đình sống trong một căn hộ, bạn cho biết địa chỉ duy nhất của tòa nhà cũng như số căn hộ.
Biến mảng giống như biến cao tầng. Nó có thể lưu trữ không chỉ một mà nhiều giá trị. Một biến như vậy có mấy căn (ô). Mỗi người trong số họ có thể được giải quyết bằng số của họ (chỉ mục).
Để thực hiện việc này, sau tên của biến, bạn cho biết chỉ mục của ô mà bạn muốn xử lý, đặt chỉ mục trong dấu ngoặc vuông. Điều này khá đơn giản:
array[index] = value;
Đâu array
là tên của biến mảng, index
là số ô trong mảng và value
là giá trị mà chúng ta muốn đặt vào ô được chỉ định.
Nhưng để bắt đầu, hãy xem cách tạo mảng.
2. Tạo mảng phần tử trong Java
Giả sử chương trình của bạn cần lưu trữ 100
số nguyên ở đâu đó. Một mảng sẽ là một ứng cử viên sáng giá cho việc này. Và làm thế nào để bạn tạo ra một?
Nếu chúng tôi muốn lưu trữ một số nguyên, int
loại sẽ phù hợp với chúng tôi. Nhưng nếu chúng ta muốn lưu trữ 100
các số nguyên, có lẽ chúng ta cần một mảng s int
. Đây là cách mã để tạo một mã sẽ trông như thế nào:
int[] array = new int[100];
Hãy cùng khám phá câu nói này.
Như bạn có thể đoán, ở bên trái của dấu bằng, chúng ta có phần khai báo của một biến có tên array
là int[]
. Loại int
được theo sau bởi dấu ngoặc vuông, gợi ý rằng "hộp" của loại này có thể lưu trữ không chỉ một mà nhiều giá trị.
Bên phải dấu bằng, ta có một ví dụ về "tạo đối tượng" (từ new
khóa) để lấy 100
các phần tử (ô) có kiểu int. Không có gì quá khó khăn ở đây.
Tương tự, nếu chúng ta muốn tạo một mảng gồm 20 ô để lưu trữ các số thực, thì mã của chúng ta sẽ giống như thế này:
double[] vals = new double[20];
Số lượng ô trong một mảng được gọi là kích thước của mảng hoặc độ dài của mảng . Và vì mảng có thể lưu trữ nhiều giá trị nên chúng còn được gọi là vùng chứa.
Đây là một sự thật quan trọng: bạn không thể thay đổi kích thước của một mảng sau khi nó được tạo .
Bạn có thể tạo một cái mới, nhưng không thể thay đổi chiều dài của vùng chứa hiện tại.
3. Thao tác với các ô của mảng
Được rồi, chúng ta đã học cách tạo mảng. Bây giờ làm thế nào để chúng ta làm việc với họ?
Chà, theo cách gần giống như với các biến thông thường. Điểm khác biệt duy nhất là sau tên của biến mảng, chúng ta phải chỉ ra số thứ tự của ô mà chúng ta đang làm việc.
Việc đánh số các ô trong một mảng luôn bắt đầu từ số không. Nếu chúng ta có một mảng 10
các phần tử, thì các số (chỉ số) của các ô của nó là 0..9
. Nếu mảng chứa 200
các phần tử, thì các chỉ số là 0..199
. Và như vậy bằng cách loại suy.
Ví dụ:
Mã số | Giải trình |
---|---|
|
Tạo một mảng 10 int các phần tử. Gán giá trị 4 cho ô có chỉ mục 2 . Gán giá trị 9 cho ô có chỉ mục 7 . Trong ô có chỉ mục 9 , viết tổng các giá trị được lưu trữ trong các ô 2 (lưu trữ giá trị 4 ) và 5 (lưu trữ giá trị 0 ). |
Đây là những gì sẽ được lưu trữ trong bộ nhớ sau khi mã này được thực thi:
Cột bên trái (màu xám) biểu thị số ô (chỉ số). Các ô lưu trữ các giá trị được gán: 4
, 9
và 4
. Khi mảng được tạo, tất cả các ô của nó đều chứa đầy số không.
Cái này quan trọng. Tất cả các ô trong một mảng có cùng kiểu dữ liệu. Nếu chúng ta tạo một mảng String
s, thì chỉ các chuỗi có thể được lưu trữ trong các ô của nó. Kiểu dữ liệu của một mảng được chỉ định khi nó được tạo. Không thể thay đổi kiểu dữ liệu cũng như độ dài của mảng sau này.
GO TO FULL VERSION