Bài đăng nổi bật


Mảng là gì?

Mảng là một kiểu cấu trúc dữ liệu rất phổ biến trong đó tất cả các phần tử phải cùng loại dữ liệu. Sau khi được xác định, kích thước của một mảng được cố định và không thể tăng để chứa nhiều phần tử hơn. Phần tử đầu tiên của mảng bắt đầu bằng chỉ số 0.
Nói một cách đơn giản, đó là một cấu trúc lập trình giúp thay thế điều này
x0 = 0; 
x1 = 1; 
x2 = 2; 
x3 = 3; 
x4 = 4; 
x5 = 5;
Với cái này …
x [0] = 0; 
x [1] = 1; 
x [2] = 2; 
x [3] = 3; 
x [4] = 4; 
x [5] = 5;
Trong hướng dẫn này, bạn sẽ học-
  • Một mảng là gì?
  • Biến mảng
  • Chương trình mảng đầu tiên
  • Mảng Java: Chuyển qua tham chiếu
  • Mảng nhiều chiều
Làm thế nào điều này có ích là một biến có thể tham chiếu chỉ mục (số trong ngoặc []) để dễ dàng lặp.
for(count=0; count<5; count++) {
     System.out.println(x[count]);
   }

Biến mảng

Sử dụng một mảng trong chương trình của bạn là một quá trình 3 bước -
1) Khai báo mảng của bạn
2) Xây dựng mảng của bạn 3) Khởi tạo mảng của bạn

1) Khai báo mảng của bạn

Cú pháp
<elementType>[] <arrayName>;
hoặc là
 <elementType> <arrayName>[];
Thí dụ:
int intArray []; 
 // Xác định rằng intArray là biến ARRAY sẽ lưu trữ các giá trị nguyên 
int [] intArray;

2) Xây dựng một mảng


 arrayname = new dataType[]
Thí dụ:
intArray = new int [10]; // Xác định rằng intArray sẽ lưu trữ 10 giá trị nguyên
Kết hợp Khai báo và Construction
int intArray [] = new int [10];

3) Khởi tạo một mảng

intArray [0] = 1; // Gán một giá trị nguyên 1 cho phần tử đầu tiên 0 của mảng 

intArray [1] = 2; // Gán một giá trị số nguyên 2 cho phần tử thứ hai 1 của mảng
Khai báo và khởi tạo một mảng
[] = {};
Thí dụ:
int intArray [] = {1, 2, 3, 4}; 
// Khởi tạo một mảng số nguyên có độ dài 4 trong đó phần tử thứ nhất là 1, phần tử thứ hai là 2 và cứ thế.

Chương trình mảng đầu tiên

Bước 1) Sao chép mã sau vào trình chỉnh sửa.
class ArrayDemo{
     public static void main(String args[]){
        int array[] = new int[7];
        for (int count=0;count<7;count++){
           array[count]=count+1;
       }
       for (int count=0;count<7;count++){
           System.out.println("array["+count+"] = "+array[count]);
       }
      //System.out.println("Length of Array  =  "+array.length);
      // array[8] =10;
      }
}
Bước 2) Lưu, biên dịch và chạy mã. Quan sát đầu ra
Đầu ra:
array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
array[5] = 6
array[6] = 7
Bước 3) Nếu x là tham chiếu đến một mảng, x.length sẽ cung cấp cho bạn độ dài của mảng.
Dòng không ghi chú # 10. Lưu, biên dịch và chạy mã. Bảo vệ đầu ra
Length of Array  =  7
Bước 4) Không giống như C, Java kiểm tra ranh giới của một mảng trong khi truy cập một phần tử trong đó. Java sẽ không cho phép lập trình viên vượt quá ranh giới của nó.
Dòng không ghi chú # 11. Lưu, biên dịch và chạy mã. Bảo vệ đầu ra
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
        at ArrayDemo.main(ArrayDemo.java:11)
Command exited with non-zero status 1
Bước 5) Array IndexOutOfBoundException được throws. Trong trường hợp của C, cùng một mã sẽ hiển thị một số giá trị rác.

Mảng Java: Chuyển qua tham chiếu

Mảng được truyền cho các hàm theo tham chiếu hoặc dưới dạng con trỏ tới bản gốc. Điều này có nghĩa là bất cứ điều gì bạn làm với Mảng bên trong hàm đều ảnh hưởng đến bản gốc.
Ví dụ: Để hiểu Array được truyền bằng tham chiếu
Bước 1) Sao chép mã sau vào trình chỉnh sửa
class ArrayDemo {
   public static void passByReference(String a[]){
     a[0] = "Changed";
   }
 
   public static void main(String args[]){
      String []b={"Apple","Mango","Orange"};
      System.out.println("Before Function Call    "+b[0]);
      ArrayDemo.passByReference(b);
      System.out.println("After Function Call    "+b[0]);
   }
}
Bước 2) Lưu, biên dịch và chạy mã. Quan sát đầu ra
Đầu ra:
Before Function Call    Apple
After Function Call    Changed

Mảng nhiều chiều

Mảng nhiều chiều thực sự là mảng của mảng.
Để khai báo một biến mảng nhiều chiều, chỉ định từng chỉ mục bổ sung bằng cách sử dụng một bộ dấu ngoặc vuông khác.
Ex: int twoD[ ][ ] = new int[4][5] ;
Khi bạn phân bổ bộ nhớ cho một mảng nhiều chiều, bạn chỉ cần chỉ định bộ nhớ cho kích thước đầu tiên (ngoài cùng bên trái).
Bạn có thể phân bổ các kích thước còn lại một cách riêng biệt.
Trong Java, độ dài mảng của mỗi mảng trong một mảng nhiều chiều nằm dưới sự kiểm soát của bạn.
Thí dụ
public class CodeLean {
public static void main(String[] args) {

// Create 2-dimensional array.
  int[][] twoD = new int[4][4];

  // Assign three elements in it.
  twoD[0][0] = 1;
  twoD[1][1] = 2;
  twoD[3][2] = 3;
  System.out.print(twoD[0][0] + " ");
}

}
Đầu ra:
1

Post a Comment

أحدث أقدم