Khám phá về mảng trong Java dành cho người mới

Mảng trong Java là gì và nó được sử dụng như thế nào trong ngôn ngữ lập trình Java. Mời bạn đọc tham khảo các nội dung thông qua bài viết. 

Mục lục bài viết

Mảng trong Java là gì?

Mảng là một vùng chứa chuỗi giá trị của các kiểu dữ liệu tương tự. Độ dài của mảng là cố định và được xác định tại thời điểm khai báo mảng. Mỗi mục trong một mảng được gọi là một phần tử.

Và mỗi phần tử của một mảng có thể được truy cập bằng cách sử dụng một số gọi là chỉ số mảng. Giá trị chỉ mục đầu tiên của mảng bắt đầu bằng 0. 

Khai bảo mảng trong Java của các kiểu dữ liệu khác nhau

  • byte [] amBytes;
  • short[] amShort;
  • boolean[] amBoolean;
  • int [] amArray;
  • char [] amChar;
  • double [] amDouble;
  • float [] amFloat;
  • String [] amString;

Một khai báo mảng có hai phần, đó là kiểu mảng và tên mảng. Kiểu mảng xác định kiểu dữ liệu của các phần tử mảng được chứa. Dấu ngoặc là ký hiệu đặc biệt mô tả biến là một mảng.

mang-trong-java (1) (1)Khám phá mảng trong Java

Khởi tạo và truy cập một mảng trong Java

Có hai cách để tạo một mảng là sử dụng các toán tử mới và xác định các giá trị trực tiếp.

int i_am array= new int[10];

Câu lệnh trên khai báo một mảng số nguyên và toán tử mới phân bổ kích thước trong bộ nhớ có kích thước là 10. 

Ngoài ra, chúng ta có thể viết:

int[] i_am_array={10,20,30,40,50,60,70,80,90};

Trong đoạn mã trên, số lượng giá trị được đưa ra trong quá trình khởi tạo xác định độ dài của một mảng. Khi mảng đã được khai báo với một kích thước nhất định, kích thước của nó không thể thay đổi trong suốt chương trình.

Trong đoạn mã trên, số lượng giá trị được đưa ra trong quá trình khởi tạo xác định độ dài của một mảng. Khi mảng đã được khai báo với một kích thước nhất định, kích thước của nó không thể thay đổi trong suốt chương trình.

Ví dụ về xác định, lưu trữ và lấy giá trị từ mảng trong Java

class ArrayDemo {
public static void main(String[] args) {
// declaration of an integer array
int[] anArray;
 // Memory allocation for 6 integers
anArray = new int[6];
 // initialize first element
anArray[0] = 10;
// initialize second element
anArray[1] = 20;
// and so forth
anArray[2] = 30;
anArray[3] = 40;
anArray[4] = 50;
anArray[5] = 60;
 
System.out.println("Element at index 0: "
+ anArray[0]);
System.out.println("Element at index 1: "
+ anArray[1]);
System.out.println("Element at index 2: "
+ anArray[2]);
System.out.println("Element at index 3: "
+ anArray[3]);
System.out.println("Element at index 4: "
+ anArray[4]);
System.out.println("Element at index 5: "
+ anArray[5]);
}
}

Đầu ra:

Phần tử ở chỉ số 0: 10

Phần tử ở chỉ số 1: 20

Phần tử ở chỉ số 2: 30

Phần tử ở chỉ số 3: 40

Phần tử ở chỉ số 4: 50

Phần tử ở chỉ số 5: 60

Nói chung, các câu lệnh lặp được sử dụng để lưu trữ các giá trị của một mảng, điều này ngăn người dùng viết các câu lệnh riêng lẻ cho mọi chỉ mục riêng biệt. Chúng ta cũng có thể khai báo một mảng động bằng cách yêu cầu người dùng nhập dữ liệu, sau đó khai báo mảng.

Vi-du-ve-mang (1)Ví dụ minh họa về mảng

Mảng hai chiều trong Java

Các kiểu mảng này lưu trữ các phần tử của cùng một kiểu dữ liệu dưới dạng hàng và cột.

Cú pháp:

int [][] i_am_array=new int[4][5]

Câu lệnh trên khai báo một mảng hai chiều có kích thước 20. Dấu ngoặc thứ nhất biểu thị hàng và dấu ngoặc thứ hai biểu thị số lượng cột. Số chỉ mục bắt đầu từ 0 trong mảng hai chiều.

Ví dụ:

class Demo {
public static void main(String[] args)
{
// declaration of an integer double dimensional array
int[][] anArray;
// Memory allocation for 6 integers
anArray = new int[4][2];
// initialize 1st element of 1st Row and 1st Column
anArray[0][0] = 10;
// initialize 2nd element of 1st Row and 2nd Column
anArray[0][1] = 20;
// initialize 1st element of 2nd Row and 1st Column
anArray[1][0] = 30;
// So on..
anArray[1][1] = 40;
anArray[2][0] = 50;
anArray[2][1] = 60;
anArray[3][1] = 70;
anArray[3][1] = 80;
System.out.println("Element at index 1st  Row and 1st  Column: "
+ anArray[0][0]);
System.out.println("Element at index 1st  Row and 2nd  Column:"
+ anArray[0][1]);
System.out.println("Element at index 2nd Row and 1st  Column:"
+ anArray[1][0]);
System.out.println("Element at index 2ndRow and 2nd  Column: "
+ anArray[1][1]);
System.out.println("Element at index 3rdRow and 1st  Column:"
+ anArray[2][0]);
System.out.println("Element at index 3rd Row and 2nd  Column: "
+ anArray[2][1]);
System.out.println("Element at index 4th Row and 1st  Column:"
+ anArray[3][0]);
System.out.println("Element at index 4th Row and 2nd Column: "
+ anArray[3][1]);
}
}

Đầu ra:

Phần tử ở chỉ mục Hàng thứ 1 và Cột thứ 0: 10

Phần tử ở chỉ mục 1 Hàng và Cột 1 : 20

Phần tử ở chỉ mục Hàng thứ 2 và Cột thứ 0 : 30

Phần tử ở chỉ mục Hàng thứ 2 và Cột 1 : 40

Phần tử ở chỉ mục 3 Hàng và Cột 0 : 50

Phần tử ở chỉ mục thứ 3 Hàng và Cột 1 : 60

Phần tử ở chỉ mục Hàng thứ 4 và Cột 1 : 70

Phần tử ở chỉ mục Hàng thứ 4 và Cột 1 : 80

Phân tích cú pháp và tạo mảng động bằng vòng lặp

import java.util.*;
import java.lang.*;
import java.io.*;
class ArrayCopyDemo {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
// User input to take length of array
System.out.println("Enter the size of an Array \n");
int len=sc.nextInt();
// Array declaration of the size user entered
int [] a = new int[len];
//Storing array values as entered by the user.
for(int x=0;x<len;x++)
{
System.out.printf("Enter the %d element \n",x);
a[x]=sc.nextInt();
}
//Printing array values.
System.out.println(“Printing the Array values”)
for(int x=0;x<len;x++)
{
System.out.printf("The %d element is %d \n",x, +a[x]);
}

Đầu ra

  • Nhập kích thước của Mảng 5
  • Nhập phần tử 0 10
  • Nhập 1 phần tử 20
  • Nhập 2 phần tử30
  • Nhập 3 phần tử40
  • Nhập 4 phần tử50
  • In các giá trị của Mảng
  • Phần tử 0 là 10
  • Phần tử 1 là 20
  • Phần tử thứ 2 là 30
  • Phần tử 3 là 40
  • Phần tử 4 là 50

Các hàm được sử dụng để thao tác với mảng trong Java

Sao chép một mảng

Lớp Hệ thống có một phương thức có tên là arrayycopy () để sao chép dữ liệu từ mảng này sang mảng khác. Nó có hai mảng và ba đối số nguyên.

  • Mảng nguồn
  • Mảng đích
  • Bắt đầu chỉ mục để sao chép trong mảng đích
  • Hai số nguyên xác định phạm vi phần tử sẽ được sao chép.

Ví dụ:

class CopyDemo
{
public static void main(String[] args)
{
// Two Character array declared
char[] copyFrom = { 'd', 'e', 'd', 'a', 'e, 'e', 'f',
'i', 'n', 'a', 't', 'e', 'd' };
char[] copyTo = new char[7];
//arraycopy() function called and two arrays are passed
System.arraycopy(copyFrom, 2, copyTo, 0, 7);
System.out.println(new String(copyTo));
}
}

Đầu ra:

daeefin

Sắp xếp mảng

Phương thức Array.sort () trong Java giúp sắp xếp mảng theo thứ tự tăng dần.

Ví dụ

int[] intArray = { 10, 2, 31, 4, 5 };
Arrays.sort(intArray);

Mảng được truyền sẽ được sắp xếp và lưu .2,4,5,10,31

Tìm kiếm: Bạn có thể tìm kiếm bất kỳ phần tử nào trong một mảng bằng cách sử dụng hàm Array.BinarySearch (). Nó có hai đối số, có nghĩa là nó lấy một mảng cùng với một giá trị để tìm kiếm trong mảng và trả về chỉ số của phần tử nơi giá trị được tìm thấy.

So sánh mảng trong Java

Lớp java.util.Array chứa một hàm có tên là equals (). Nó nhận hai tham số ở dạng hai mảng và trả về giá trị Boolean là true hoặc false. Nếu tất cả các phần tử của mảng phù hợp, thì nó trả về true. Kiểu dữ liệu được so sánh phải tương tự.

Ví dụ:

int [] a = { 1, 2, 3, 4, 5 };
int [] b = { 1, 2, 3, 4, 5 };
System.out.println( Arrays.equals( a, b ) );

Đầu ra: Đúng

Tổng kết

Nếu bạn muốn học Java thì nhất định không nên bỏ lỡ những kiến thức liên quan đến mảng trong JavaBox.edu chia sẻ qua bài viết trên nhé. Chúng tôi hy vọng những thông tin trên sẽ hữu ích cho bạn.

Cảm ơn và chúc bạn thành công!

5/5 - (3 bình chọn)
Xin chào các bạn! Mình là Hà Nguyên Phương Hiện đang là tác giả của Box.edu.vn website nổi tiếng chuyên review, đánh giá, giới thiệu các khóa học hay nhất hiện nay.