Skip to content
Rikkei AcademyRikkei Academy
  • Khóa học

    Hướng dẫn bởi những giảng viên chất lượng từ các trường đại học công nghệ top đầu Việt Nam

    Kiểm tra độ phù hợp

    5 phút kiểm tra nhanh liệu bạn có phù hợp với ngành Công nghệ thông tin

    Tìm hiểu thêm
    Cho người mới bắt đầu

    Bắt đầu sự nghiệp lập trình từ con số 0 với lộ trình học tập chỉ sau 6 tháng

    Tìm hiểu thêm
    Lập trình viên Nhật Bản

    Bắt đầu sự nghiệp lập trình với khả năng tiếng Nhật từ N3

    Tìm hiểu thêm
    Phân tích dữ liệu - HUST

    Nâng cấp nghiệp vụ, tiến bước sự nghiệp với phân tích dữ liệu

    Tìm hiểu thêm
    Kỹ sư Công nghệ thông tin - PTIT

    Trở thành Kỹ sư Công nghệ thông tin trong thời đại số

    Tìm hiểu thêm
    IT Fresher - Rikkei Certificate

    Trở thành IT Fresher với khởi đầu khác biệt, doanh nghiệp săn đón

    Tìm hiểu thêm
  • Tài nguyên
    • Icon1Tài nguyên học tập
      • Blog
      • Kiến thức chuyên môn
      • Khám phá Nhật Bản
    • Icon Menu1Tin tức công nghệ
      • What’s New – What’s Next?
      • Thông tin sự kiện
  • Vì sao chọn Rikkei Education
    • Về Rikkei Education
    • Hệ sinh thái Rikkei
    • Nhân sự Rikkei Education
    • Cộng đồng RA Alumni
    • Ươm mầm xanh & CSR
    • Cơ hội nghề nghiệp
  • Ngôn ngữ
    • Tiếng Việt
    • Tiếng Anh
    • Tiếng Nhật
Trang chủ / Kiến thức chuyên môn / Tối Ưu Hiệu Suất Với 8 Cách Khai Báo Mảng Trong Java
  • Dành cho người mới bắt đầu
  • Dành cho người đã có nền tảng
  • Dành cho người muốn đi Nhật
  • Nhận kho tài liệu miễn phí
Test tư duy lập trình miễn phí

Đăng ký nhận tin tức từ Rikkei Academy

    24/06/2023

    Tối Ưu Hiệu Suất Với 8 Cách Khai Báo Mảng Trong Java

    Phí Thanh 04 phút đọc
    Khai Bao Mang Trong Java Rikkei Academy

    Mục lục

    Toggle
    • Các cách khai báo mảng trong Java
      • Khai báo mảng một chiều trong Java
      • Khai báo mảng đa chiều trong Java
      • Khai báo mảng với giá trị khởi tạo trong Java
      • Khai báo mảng với kích thước cố định trong Java
      • Khai báo mảng với các phần tử mặc định
      • Khai báo mảng với kích thước không cố định
      • Khai báo mảng bằng cách sao chép mảng khác
      • Khai báo mảng với các phần tử được nhập từ bàn phím
    • Kết luận

    Trong bài trước, Rikkei Academy đã cung cấp cho bạn cách khai báo mảng cơ bản nhất. Tuy nhiên, trong một số trường hợp, đó không phải là cách khai báo mảng một cách phù hợp và tối ưu nhất. Vì vậy, chúng ta hãy cùng tìm hiểu một số cách khác để khai báo mảng trong Java.

    Các cách khai báo mảng trong Java

    Mảng (array) là một cấu trúc dữ liệu cơ bản và được sử dụng rộng rãi trong lập trình. Khi lập trình Java, bạn sẽ cần sử dụng mảng để lưu trữ và xử lý các kiểu dữ liệu khác nhau. Vì vậy, việc biết cách khai báo mảng trong Java giúp bạn có thể sử dụng mảng đúng cách và tối ưu nhất. Đồng thời, tránh gặp phải các lỗi liên quan như truy cập sai chỉ số hay tràn bộ nhớ.

    Khai báo mảng một chiều trong Java

    Với mảng một chiều, ta có thể truy cập và sắp xếp dữ liệu theo chỉ số của từng phần tử trong mảng, giúp cho việc truy cập và xử lý dữ liệu trở nên thuận tiện hơn. Để khai báo một mảng một chiều trong Java, bạn có thể sử dụng cú pháp sau:

    dataType[][] arrayName = new dataType[ArraySize];

    Ví dụ:

    int[] myArray = new int[5];

    Mảng một chiều thường được sử dụng trong các tình huống để lưu trữ, xử lý như danh sách các phần tử (điểm số,tên sản phẩm,…); dữ liệu số học (dãy số, các giá trị thống kê,…); dữ liệu chuỗi,…

    Khai báo mảng đa chiều trong Java

    Trong Java, khai báo mảng đa chiều cho phép lưu trữ và truy cập các giá trị theo các chiều khác nhau, tạo ra một không gian lưu trữ lớn hơn so với khai báo mảng một chiều. Cách khai báo này cho phép bạn khai báo một mảng đa chiều bằng cách sử dụng hai hoặc nhiều cặp dấu ngoặc vuông.

    Cú pháp:

    dataType[][] arrayName = new dataType[rows][columns];

    Ví dụ:

    int[][] matrix = new int[3][3];

    Mảng đa chiều trong Java được sử dụng rộng rãi trong các ứng dụng như xử lý ảnh, xử lý video, xử lý dữ liệu địa lý,…cũng như trong lập trình game và ứng dụng đồ họa.

    Đây là hai cách khai báo dựa theo phân loại của mảng trong Java. Ngoài ra, chúng ta còn còn một số cách tạo mảng khác phù hợp với các trường hợp khác nhau. Lưu ý rằng, các cách sau có thể áp dụng cho cả mảng một chiều và đa chiều.

    Khai báo mảng với giá trị khởi tạo trong Java

    Cách khai báo này cho phép khai báo và khởi tạo mảng trong cùng một lần bằng cách liệt kê các giá trị cần lưu trữ trong mảng. Cú pháp:

    dataType[] arrayName = {value1, value2, …, valueN};

    Chúng ta sử dụng khai báo mảng với giá trị khởi tạo trong trường hợp số phần tử của mảng không cố định hoặc bạn đã biết trước giá trị các phần tử trong mảng.

    Ví dụ:

    int[] numbers = {1, 2, 3, 4, 5};

    Lưu ý: khi tạo mảng với giá trị khởi tạo, số lượng phần tử của được xác định bởi số lượng giá trị khởi tạo của mảng. Do đó, không thể thêm hoặc xóa các phần tử sau khi đã khai báo.

    Khai báo mảng với kích thước cố định trong Java

    Trong cách khai báo này, ta cần chỉ định kích thước của mảng trước khi khởi tạo. Mảng được khởi tạo với kích thước cố định bằng từ khóa new và với một số nguyên biểu diễn cho số lượng phần tử trong mảng. Cú pháp:

    dataType[] arrayName = new dataType[arraySize];

    Ta thường sử dụng cách tạo mảng này khi đã biết trước số lượng phần tử cần lưu trữ trong mảng và không cần thêm hoặc xóa phần tử trong quá trình thực thi chương trình (số lượng phần tử không thay đổi).

    Ví dụ:

    int[] numbers = new int[10];

    Khai báo mảng với các phần tử mặc định

    Khi khai báo một mảng, mỗi phần tử trong mảng sẽ có giá trị mặc định tương ứng với kiểu dữ liệu của phần tử đó như giá trị mặc định của kiểu số nguyên là 0 hay số thực là 0.0. Cách khai báo này cho phép bạn khai báo một mảng với các phần tử mặc định cho kiểu dữ liệu tương ứng.

    Ví dụ:

    boolean[] values = new boolean[10];

    Khi bạn muốn khai báo một mảng mới trong Java với các các giá trị ban đầu là giá trị mặc định của kiểu dữ liệu tương ứng và chưa cần gán giá trị cho các phần tử trong mảng (có thể gắn sau khi đã khởi tạo mảng)

    Khai báo mảng với kích thước không cố định

    Để khai báo mảng với kích thước không cố định, ta sử dụng một lớp ArrayList. Cú pháp:

    ArrayList<dataType> arrayName = new ArrayList<dataType>();

    Đây là một lựa chọn tốt khi bạn cần lưu trữ các phần tử trong một mảng mà không biết trước kích thước.

    Ví dụ:

    import java.util.ArrayList;

    public class Main {

        public static void main(String[] args) {

            ArrayList<String> list = new ArrayList<String>();

        }

    }

    Lưu ý: để sử dụng ArrayList, bạn cần cài đặt gói java.util.ArrayList với câu lệnh import java.util.ArrayList;

    Khai báo mảng bằng cách sao chép mảng khác

    Cách khai báo này cho phép bạn tạo một bản sao của một mảng hiện có bằng cách sao chép các giá trị của nó vào một mảng mới. Cú pháp:

    dataType[] arrayName = Arrays.copyOf(originalArray, newLength);

    Sử dụng khai báo mảng bằng cách sao chép mảng khác khi bạn muốn tạo một bản sao của một mảng hiện có để thực hiện các thao tác khác nhau, không ảnh hưởng đến mảng gốc (mảng được sao chép).

    Ví dụ:

    public class Example {

        public static void main(String[] args) {

            int[] numbers1 = {5, 6, 7, 8, 9};

            int[] numbers2 = Arrays.copyOf(numbers1, numbers1.length);

            // mảng mới numbers2 với cùng các phần tử và kích thước với mảng numbers1

            numbers2[0] = 10;

    //thay đổi phần tử ở vị trí 0 bằng giá trị 10

            System.out.println(Arrays.toString(numbers1)); // [5, 6, 7, 8, 9]

            System.out.println(Arrays.toString(numbers2)); // [10,6, 7, 8, 9]

        }

    }

    Lưu ý: Khi mảng mới và mảng cũ đều trỏ đến cùng 1 đối tượng, thì ta có thể nói, mảng mới là tham chiếu của mảng cũ. Vì khi thay đổi các thuộc tính của đối tượng trong mảng mới, các thay đổi đó cũng sẽ ảnh hưởng đến các đối tượng trong mảng cũ. Ví dụ:

    Student st = new Student(“John”);

    Student[] arr1 = {st}; 

    Student[] arr2 = Arrays.copyOf(arr1, 1);

    // Thay đổi tên sinh viên thông qua arr2 

    arr2[0].setName(“Peter”);  

    // In ra arr1 để kiểm tra

    System.out.println(arr1[0].getName()); // Peter

    Khai báo mảng với các phần tử được nhập từ bàn phím

    Để khai báo một mảng với các phần tử được nhập từ bàn phím trong Java, ta có thể sử dụng lớp Scanner để đọc dữ liệu từ bàn phím. Sau đó, ta có thể sử dụng vòng lặp để nhập giá trị cho từng phần tử trong mảng. Cú pháp:

    Scanner scanner = new Scanner(System.in);

    dataType[] arrayName = new dataType[arraySize];

    for (int i = 0; i < arraySize; i++) {

        arrayName[i] = scanner.nextdataType();

    }

    Cách khai báo mảng với các phần tử được nhập từ bàn phím (hoặc từ các nguồn dữ liệu khác) thường được sử dụng trong các tình huống khi các giá trị của các phần tử trong mảng không được biết trước.

    Đây là cách tạo mảng trong Java hữu ích khi ta muốn tương tác với người dùng để lấy dữ liệu đầu vào cho chương trình của mình. Nghĩa là, người dùng có thể nhập các giá trị từ bàn phím một cách linh hoạt, cho phép chương trình hoạt động với các dữ liệu đầu vào khác nhau.

    Ví dụ:

    import java.util.Scanner;

    public class Main {

        public static void main(String[] args) {

            Scanner scanner = new Scanner(System.in);

            System.out.print(“Nhập số lượng phần tử của mảng: “);

            int n = scanner.nextInt();

            int[] arr = new int[n];

            System.out.println(“Nhập các phần tử của mảng:”);

            for (int i = 0; i < n; i++) {

                System.out.print(“Phần tử thứ ” + i + “: “);

                arr[i] = scanner.nextInt();

            }

            System.out.println(“Các phần tử trong mảng là:”);

            for (int i = 0; i < n; i++) {

                System.out.println(arr[i]);

            }

        }

    }

    Kết luận

    Có thể thấy, có nhiều cách khai báo mảng trong Java với các tính năng và ứng dụng riêng biệt để lưu trữ và xử lý dữ liệu. Việc lựa chọn cách khai báo mảng phù hợp sẽ phụ thuộc vào tình huống cụ thể. Vì vậy, việc hiểu rõ các cách khai báo mảng sẽ giúp tối ưu hiệu suất và tăng tính linh hoạt của chương trình trong quá trình thực hiện.

    Nếu bạn đang tìm hiểu về Java, muốn theo học chương trình có lộ trình tinh gọn, giảng viên giàu kinh nghiệm, hỗ trợ 24/7 và cam kết việc việc làm 100%, tham khảo ngay khóa học lập trình tại Rikkei Academy! Với thời lượng học trong 6 tháng, bạn sẽ được trang bị đầy đủ kiến thức, kỹ năng bám sát thực tế. Từ đó tự tin ứng tuyển chạm tay tới mức lương 8 con số. Đăng ký để nhận tư vấn miễn phí ngay tại đây!

    Bài viết cùng chủ đề

    • học lập trình có khó không 01/06/202204 phút đọc HỌC LẬP TRÌNH LÀ HỌC GÌ? HỌC LẬP TRÌNH CÓ KHÓ KHÔNG?
    • 10 phương pháp tự học lập trình vô cùng hiệu quả mà không phải ai cũng biết 04/10/202204 phút đọc 10 Phương Pháp Tự Học Lập Trình Vô Cùng Hiệu Quả
    • Ngôn ngữ lập trình JavaScript là gì? 22/12/202204 phút đọc Ngôn ngữ lập trình JavaScript là gì? Kiến thức cơ bản về JavaScript cho người mới bắt đầu
    • Cau Truc Du Lieu Rikkei Academy 24/06/202304 phút đọc Cấu Trúc Dữ Liệu: 8 Cấu Trúc Phổ Biến Nhất Và Ứng Dụng
    • Lộ trình học lập trình cho người mới bắt đầu 09/06/202204 phút đọc LỘ TRÌNH HỌC LẬP TRÌNH CHO NGƯỜI MỚI BẮT ĐẦU TỪ A-Z
    • List Trong Python Rikkei Academy 1 08/06/202304 phút đọc List trong Python là gì? Hướng Dẫn Các Thao Tác Cơ Bản

    Logorikkei

    Công ty TNHH Rikkei Education

    • Tổ chức quản lý trang thông tin: Công ty TNHH Rikkei Education
    • Quản lý trang thông tin: Nguyễn Văn Nam (phòng Marketing)

     

    Trụ sở Hà Nội: Tầng 7 tháp A toà Sông Đà, đường Phạm Hùng, quận Nam Từ Liêm, Hà Nội

    Hotline: 0862 069 233

    Email: academy@rikkeisoft.com

    Khoá học
    • Cho người mới bắt đầu
    • Lập trình viên Nhật Bản
    • Kỹ sư CNTT – PTIT
    • Data Analysis – HUST
    • IT Fresher – Rikkei Certificate
    Tài nguyên
    • Blog
    • Kiến thức chuyên môn
    • Khám phá Nhật Bản
    • Thông tin sự kiện
    • What’s New – What’s Next?
    Vì sao chọn Rikkei Education
    • Về Rikkei Education
    • Hệ sinh thái Rikkei
    • Nhân sự Rikkei Education
    • Cộng đồng RA Alumni
    • Uơm mầm xanh & CSR
    • Cơ hội nghề nghiệp
    Cơ sở 1

    Tầng 7, khối A tòa nhà Sông Đà, đường Phạm Hùng , Phường Mỹ Đình 1, Quận Nam Từ Liêm, Hà Nội.

    Hotline: 0862 069 233

    Cơ sở 2

    Tầng 22, khối A tòa nhà Sông Đà, đường Phạm Hùng , Phường Mỹ Đình 1, Quận Nam Từ Liêm, Hà Nội.

    Hotline: 086 206 9233

    Cơ sở 3

    Tầng 4, tòa nhà Ricco, số 363 Nguyễn Hữu Thọ, phường Khuê Trung, Quận Cẩm Lệ, Đà Nẵng

    Hotline: 0904 694 869

    Cơ sở 4

    Tầng 12, Tòa nhà Đảm Bảo An Toàn Hàng Hải phía Nam Số 42 đường Tự Cường, phường 4, Tân Bình, TP. Hồ Chí Minh.

    Cơ sở 5

    Tầng 3, toà TSA Bulding, Số 77 Lê Trung Nghĩa, Phường 12, Tân Bình, TP. Hồ Chí Minh.

    Hotline: 0962 703 893

    Cơ sở Fukuoka

    Tokan Fukuoka 2nd Building 417 Hiecho 1-chome-18, Hakata-ku, Fukuoka, Japan

    • Nhắn tin qua Zalo
    • Nhắn tin qua Facebook
    • 086 206 92 33
    Copyright 2024 © Rikkei Academy All rights reserved.
    • Khóa học

      Hướng dẫn bởi những giảng viên chất lượng từ các trường đại học công nghệ top đầu Việt Nam

      Kiểm tra độ phù hợp

      5 phút kiểm tra nhanh liệu bạn có phù hợp với Công nghệ thông tin

      Tìm hiểu thêm
      Cho người mới bắt đầu

      Bắt đầu từ con số 0 với lộ trình học tập trong 6 tháng

      Tìm hiểu thêm
      Lập trình viên Nhật Bản

      Bắt đầu sự nghiệp lập trình với khả năng tiếng Nhật

      Tìm hiểu thêm
      Phân tích dữ liệu - HUST

      Nâng cấp nghiệp vụ, tiến bước sự nghiệp với phân tích dữ liệu

      Tìm hiểu thêm
      Kỹ sư Công nghệ thông tin - PTIT

      Trở thành Kỹ sư Công nghệ thông tin trong thời đại số

      Tìm hiểu thêm
      IT Fresher - Rikkei Certificate

      Trở thành IT Fresher với khởi đầu khác biệt, doanh nghiệp săn đón

      Tìm hiểu thêm
    • Khóa học
    • Tài nguyên
      • Icon1Tài nguyên học tập
        • Blog
        • Kiến thức chuyên môn
        • Khám phá Nhật Bản
      • Icon Menu1Tin tức công nghệ
        • What’s New – What’s Next?
        • Thông tin sự kiện
    • Vì sao chọn Rikkei Education
      • Về Rikkei Education
      • Hệ sinh thái Rikkei
      • Nhân sự Rikkei Education
      • Cộng đồng RA Alumni
      • Ươm mầm xanh & CSR
      • Cơ hội nghề nghiệp
    • Ngôn ngữ
      • Tiếng Việt
      • Tiếng Anh
      • Tiếng Nhật