01/10/2018, 11:28

So sánh 2 cách khai bào mảng trong java?

Anh/chị cho em hỏi là 2 cách khai báo này có gì khác nhau ạ? Em cảm ơn!

  1. private CD [ ] ds = new CD[n]; // Khai báo mảng tên là ds kiểu dữ liệu CD có n phần tử
private CD [ ] ds;          // Khai báo mảng tên ds kiểu dũ liệu CD
public DanhSachCD(int n) {  
    	            ds = new CD[n];                 //Cho mảng có n phần tử đặt trong Contructor
           }
Tao Không Ngu. viết 13:36 ngày 01/10/2018

Hi Phan Vũ.

  1. n bằng mấy ?
  2. Cách này nên dùng.
Phan Vũ viết 13:33 ngày 01/10/2018

Tức cách 1 là biết trước số phần tử mảng còn cách 2 thì chưa biết phải k ạ?

nghia viết 13:33 ngày 01/10/2018

Chào pcnhatvu !

  1. Bạn đang khởi tạo đối tượng là 1 mảng.
  2. Bạn đang khởi tạo class có thuộc tính là mảng.
    Mảng là 1 có vùng nhớ có cùng kiểu dữ liệu, các phần tử liền kề nhau, đặc biệt có số lượng phần tử xác định.
    Bạn nên tìm hiều lại về mảng và khởi tạo.
Trần Ngọc Vĩnh Nhơn viết 13:45 ngày 01/10/2018

Cách 1: Bạn khai báo và khởi tạo một mảng một cách bình thường, đây chỉ là một câu lệnh.
Cách 2: Bạn khai báo một lớp, trong đó có một hàm khởi tạo dùng để tạo số lượng phần tử cho mảng. Cách này dùng cho việc xây dựng lớp, còn hàm khởi tạo đó dùng cho việc khởi tạo đối tượng.
Tùy tình huống mà sử dụng, nếu chỉ viết một chương trình đơn giản trong hàm main, bạn dùng cách 1 cho dễ. Còn nếu viết nhiều lớp thì bạn dùng cách 2

Trần Hoàn viết 13:37 ngày 01/10/2018

Nếu xây dựng trong class, bạn nên khởi tạo bất kỳ thuộc tính nào trong constructor (hàm tạo), và có thể khởi tạo lại trong các phương thức khác. Không khởi tạo khi khai báo.

Type[] A;//Khai báo
A = new Type[n];//Khởi tạo
Type[] A = new Type[n];//Vừa khai báo vừa khởi tạo
Bài liên quan
0