Pertanyaan Bagaimana cara mendeklarasikan dan menginisialisasi array di Java?


Bagaimana cara mendeklarasikan dan menginisialisasi array di Java?


1613
2017-07-29 14:22


asal


Jawaban:


Anda dapat menggunakan deklarasi array atau array literal (tetapi hanya ketika Anda mendeklarasikan dan mempengaruhi variabel secara langsung, larik literal tidak dapat digunakan untuk menetapkan ulang suatu larik).

Untuk tipe primitif:

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

Untuk kelas, misalnya String, itu sama:

String[] myStringArray = new String[3];
String[] myStringArray = {"a","b","c"};
String[] myStringArray = new String[]{"a","b","c"};

Cara ketiga untuk menginisialisasi berguna ketika Anda mendeklarasikan array terlebih dahulu dan kemudian menginisialisasi. Pemeran diperlukan di sini.

String[] myStringArray;
myStringArray = new String[]{"a","b","c"};

2188
2017-07-09 21:59



Ada dua jenis larik.
 

Satu Array Dimensi

Sintaks untuk nilai default:

int[] num = new int[5];

Atau (kurang disukai)

int num[] = new int[5];

Sintaks dengan nilai yang diberikan (variabel / inisialisasi lapangan):

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

Atau (kurang disukai)

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

Catatan: Untuk kenyamanan int [] lebih disukai karena jelas mengatakan bahwa Anda berbicara di sini tentang array. Kalau tidak ada perbedaan. Tidak semuanya.

Array multidimensi

Pernyataan

int[][] num = new int[5][2];

Atau

int num[][] = new int[5][2];

Atau

int[] num[] = new int[5][2];

Inisialisasi

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

Atau

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

Ragged Array (atau Array Non-persegi panjang)

 int[][] num = new int[5][];
 num[0] = new int[1];
 num[1] = new int[5];
 num[2] = new int[2];
 num[3] = new int[3];

Jadi di sini kita mendefinisikan kolom secara eksplisit.
Cara lain: 

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

Untuk Mengakses:

for (int i=0; i<(num.length); i++ ) {
    for (int j=0;j<num[i].length;j++)
        System.out.println(num[i][j]);
}

Kalau tidak:

for (int[] a : num) {
  for (int i : a) {
    System.out.println(i);
  }
}

Ragged array adalah array multidimensi.
Untuk penjelasan, lihat detail array multi-dimensi di tutorial java resmi


220
2017-07-29 14:29



Type[] variableName = new Type[capacity];

Type[] variableName = {comma-delimited values};



Type variableName[] = new Type[capacity]; 

Type variableName[] = {comma-delimited values};

juga valid, tetapi saya lebih memilih kurung setelah jenisnya, karena lebih mudah untuk melihat bahwa jenis variabel sebenarnya adalah sebuah array.


116
2017-07-29 14:28



Ada berbagai cara di mana Anda dapat mendeklarasikan array di Java:

float floatArray[]; // Initialize later
int[] integerArray = new int[10];
String[] array = new String[] {"a", "b"};

Anda dapat menemukan informasi lebih lanjut di Tutorial matahari situs dan JavaDoc.


32
2017-07-29 14:29



Saya merasa sangat membantu jika Anda memahami setiap bagian:

Type[] name = new Type[5];

Type[] adalah mengetik dari variabel disebut nama ("nama" disebut identifier). "Tipe" literal adalah tipe dasar, dan tanda kurung berarti ini adalah tipe array dari basis itu. Tipe array pada gilirannya adalah jenis mereka sendiri, yang memungkinkan Anda untuk membuat array multidimensional seperti Type[][] (tipe array Tipe []). Kata kunci new mengatakan untuk mengalokasikan memori untuk array baru. Jumlah antara braket mengatakan seberapa besar larik baru dan berapa banyak memori yang dialokasikan. Misalnya, jika Java tahu bahwa tipe dasarnya Type membutuhkan 32 byte, dan Anda menginginkan sebuah array dengan ukuran 5, ia perlu untuk secara internal mengalokasikan 32 * 5 = 160 byte.

Anda juga dapat membuat array dengan nilai-nilai yang sudah ada di sana, seperti

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

yang tidak hanya menciptakan ruang kosong tetapi mengisinya dengan nilai-nilai itu. Java dapat mengatakan bahwa primitif adalah bilangan bulat dan bahwa ada 5 dari mereka, sehingga ukuran array dapat ditentukan secara implisit.


26
2018-06-04 06:02



Berikut ini menunjukkan deklarasi array, tetapi array tidak diinisialisasi:

 int[] myIntArray = new int[3];

Berikut ini menunjukkan deklarasi serta inisialisasi array:

int[] myIntArray = {1,2,3};

Sekarang, berikut ini juga menunjukkan deklarasi serta inisialisasi array:

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

Tetapi yang ketiga ini menunjukkan properti pembuatan objek array anonim yang ditunjukkan oleh variabel referensi "myIntArray", jadi jika kita menulis hanya "new int [] {1,2,3};" maka ini adalah bagaimana array-objek anonim dapat dibuat.

Jika kita hanya menulis:

int[] myIntArray;

ini bukan deklarasi array, tetapi pernyataan berikut membuat deklarasi di atas selesai:

myIntArray=new int[3];

26
2017-07-29 14:25



Kalau tidak,

// Either method works
String arrayName[] = new String[10];
String[] arrayName = new String[10];

Itu mendeklarasikan array yang disebut arrayName ukuran 10 (Anda memiliki elemen 0 hingga 9 untuk digunakan).


22
2017-07-29 15:56