Khởi tạo và thay thế giá trị mảng trong Java | Laptrinhcanban.com

Khởi tạo và thay thế giá trị mảng trong Java

Hướng dẫn cách khởi tạo mảng và thay thế giá trị các phần tử của mảng trong Java. Bạn sẽ biết cách khởi tạo mảng với các giá trị cụ thể của phần tử, cũng như cách thay thế giá trị bằng các giá trị mới cho phần tử của mảng trong Java sau bài học này.

Giá trị mặc định khi tạo mảng trong Java

Nếu chúng ta không chỉ định các giá trị cho mảng đồng thời khi tạo một mảng trong Java, thì giá trị mặc định (tùy thuộc vào kiểu dữ liệu) sẽ được tự động gán vào các phần tử của mảng đã tạo.

Ví dụ, sau khi khai báo và tạo bản thể của một mảng int gồm 5 phần tử, thì tất cả các phần tử sẽ được gán giá trị mặc định là số 0 như sau:

public class Main
{
public static void main(String[] args) {
int[] num;
num = new int[3];
System.out.println("num[0]= "+num[0]);
System.out.println("num[1]= "+num[1]);
System.out.println("num[2]= "+num[2]);
}
}

Kết quả:

num[0]= 0
num[1]= 0
num[2]= 0

Trong trường hợp mảng được tạo thuộc kiểu String chẳng hạn, thì giá trị mặc định sẽ không phải là số 0 mà là giá trị null, và tất cả các phần tử sau khi tạo mảng cũng sẽ được gán giá trị ban đầu này. Ví dụ:

public class Main
{
public static void main(String[] args) {
String[] str;
str = new String[3];
System.out.println("str[0]= "+str[0]);
System.out.println("str[1]= "+str[1]);
System.out.println("str[2]= "+str[2]);
}
}

Kết quả:

str[0]= null
str[1]= null
str[2]= null

Giống như vậy, khi tạo một mảng trong Java mà không chỉ định các giá trị cụ thể của phần tử, nếu mảng đó thuộc kiểu số thì giá trị mặc định là 0, nếu mảng thuộc kiểu Boolean thì giá trị mặc định là false, và nếu mảng thuộc kiểu String thì giá trị mặc định là null sẽ được tự động gán vào các phần tử như giá trị ban đầu của chúng.

Khởi tạo mảng trong Java

Đối với một mảng đã khai báo và tạo ra bản thể, thì các giá trị mặc định sẽ được tự động gán vào các phần tử của nó.

Tuy nhiên trong trường hợp đã biết trước các giá trị cần gán vào mảng, chúng ta hoàn toàn có thể bỏ qua việc sử dụng giá trị mặc định và chỉ định trực tiếp các giá trị cần gán ngay khi khai báo mảng.

Việc chỉ định luôn giá trị ban đầu cho mảng khi tạo một mảng trong Java được gọi là khởi tạo mảng trong Java, và chúng ta khởi tạo mảng với cú pháp sau đây:

type[] array_name = { value1, value2, value3, ...};

Trong đó type là kiểu dữ liệu của mảng, array_name là tên mảng, và các value là các giá trị tương ứng của các phần tử trong mảng.

Ví dụ cụ thể:

public class Main
{
public static void main(String[] args) {
int[] num = {4, 10, 7};
System.out.println("num[0]= "+num[0]);
System.out.println("num[1]= "+num[1]);
System.out.println("num[2]= "+num[2]);
}
}

Kết quả:

num[0]= 4
num[1]= 10
num[2]= 7

Lại nữa, chúng ta cũng có thể sử dụng từ khóa var đã học trong bài var trong Java và cách khai báo biến bằng kiểu suy luận để tiến hành rút gọn việc chỉ định kiểu khi khởi tạo mảng trong Java, với cú pháp sau đây:

var array_name = new type[]{ value1, value2, value3, ...};

Ví dụ cụ thể, mảng int ở trên có thể được khai báo bằng var như sau:

var num = new int[]{4, 10, 7};

Thay thế giá trị phần tử của mảng trong Java

Đối với một mảng đã được tạo ra bằng các phương pháp như khai báo hay khởi tạo, thì bản thân các phần tử của mảng sẽ chứa một giá trị, giá trị này có thể là giá trị mặc định, hoặc là giá trị cụ thể mà chúng ta đã chỉ định cho nó.

Các giá trị này không phải là bất biến, và chúng ta có thể truy cập vào phần tử thông qua index của chúng và thay thế giá trị của chúng bằng các giá trị mới, với cú pháp sau đây:

array_name[index] = new_value;

Trong đó array_name là tên mảng, index là chỉ mục biểu diễn vị trí của phần tử cần thay giá trị trong mảng, và new_value là giá trị mới dùng để thay thế.

Ví dụ, chúng ta thay thế giá trị của phần tử thứ 2 trong mảng int gồm 3 phần tử, có index bằng 1, sau khi đã khởi tạo mảng với các giá trị cụ thể như sau:

int[] num = {4, 10, 7};
System.out.println("num[1]= "+num[1]); //num[1]= 10

num[1] = 88;
System.out.println("num[1]= "+num[1]); //num[1]= 88

Chúng ta cũng có thể sử dụng cách này để gán giá trị cho mảng sau khi khai báo trong Java. Ví dụ:

int[] num = new int[3];

num[0] = 4;
num[1] = 10;
num[2] = 7;

Các viết này cũng tương tự như khi chúng ta đã khởi tạo mảng trong Java như sau:

int[] num = {4, 10, 7};

Thay thế toàn bộ giá trị của các phần tử trong Java

Để thay thế toàn bộ giá trị của các phần tử trong Java, thay vì viết các lệnh code thay thế giá trị từng phần tử, thì chúng ta sẽ khởi tạo một mảng khác có cùng số phần tử, và sau đó gán mảng khác đó cho mảng ban đầu cần thay thế giá trị với cú pháp sau đây:

orgin_array = new type[]{ value1, value2, value3, ...};

Trong đó orgin_array là mảng ban đầu, và dòng new type[]{ value1, value2, value3, ...} chính là để khai báo một mảng khác, mang các giá trị cần thay thế để gán vào mảng ban đầu.

Ví dụ cụ thể:

public class Main
{
public static void main(String[] args) {
//Khởi tạo mảng num
int[] num = {4, 10, 7};
System.out.println("num[0]= "+num[0]);
System.out.println("num[1]= "+num[1]);
System.out.println("num[2]= "+num[2]);

//Thay thế toàn bộ giá trị phần tử của num
num = new int[]{1,2,3};
System.out.println("num[0]= "+num[0]);
System.out.println("num[1]= "+num[1]);
System.out.println("num[2]= "+num[2]);
}
}

Kết quả, toàn bộ giá trị của mảng num được thay mới như sau:

num[0]= 4
num[1]= 10
num[2]= 7

num[0]= 1
num[1]= 2
num[2]= 3

Một cách tương tự thì chúng ta cũng có thể thay thế các giá trị mặc định sau khi đã khai báo và tạo bản thể của một mảng trong Java như sau:

int[] num = new int[3];
num = new int[]{1,2,3};

Lưu ý, cách viết sau đây là SAI và chúng ta rất hay dễ bị nhầm lẫn khi gán giá trị sau khi đã khai báo mảng trong Java.

int[] num = new int[3];
num = {4, 10, 7};

>>>Main.java:5: error: illegal start of expression
>>>num = {4, 10, 7};
>>> ^

Tổng kết

Trên đây Kiyoshi đã hướng dẫn các bạn về Khởi tạo và thay thế giá trị mảng trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.