Pembuatan dan Akses Array
| English | Bahasa Indonesia |
|---|---|
| initializer list/ɪˈnɪʃəlaɪzə lɪst/ | daftar inisialisasi |
| ArrayIndexOutOfBoundsException/əˈreɪ ˈɪndeks ˈaʊtəv baʊndz ekˈsepʃn/ | ArrayIndexOutOfBoundsException |
Membuat array
- Deklarasikan array dengan tipe dan
[]:int[] scores; - Buat dengan
newdan ukuran:int[] scores = new int[5];(lima slot). - Atau cantumkan nilainya langsung:
int[] scores = {85, 90, 78};(sebuah daftar inisialisasi). - Setiap slot dimulai dari default tipenya (
0untukint,nulluntuk objek).
Pengindeksan dari nol
- Elemen array dinomori mulai dari
0; indeks terakhir adalahlength - 1. - Akses slot dengan
scores[i]:scores[0]adalah yang pertama,scores[2]yang ketiga. - Tetapkan dengan
scores[0] = 100;dan baca denganint x = scores[0];. - Kesalahan off-by-one pada indeks terakhir adalah bug array yang paling umum.
Field length
- Ukuran array adalah field
length-nya — tanpa tanda kurung:scores.length. - (Bandingkan dengan
String'slength()metode, yang memiliki tanda kurung.) lengthtetap setelah array dibuat — array tidak mengubah ukuran.- Gunakan
scores.lengthdalam kondisi perulangan agar tetap dalam batas.
Di luar batas
- Indeks yang valid adalah
0hinggalength - 1; apa pun lainnya akan menyebabkan ArrayIndexOutOfBoundsException. scores[5]pada array panjang-5 adalah di luar batas (indeksnya0–4).- Kondisi perulangan
i < scores.lengthmenjagaidalam rentang. - Jangan pernah gunakan
<=denganlength— itu melompati batas akhir.
Ukuran array adalah length (field, TANPA tanda kurung); String length adalah length() (method, DENGAN tanda kurung). Mencampur keduanya tidak akan kompilasi. Dan indeks yang valid adalah 0 hingga length - 1 — scores[scores.length] adalah satu langkah melewati akhir dan menyebabkan ArrayIndexOutOfBoundsException. Lakukan perulangan dengan i < scores.length, jangan i <= scores.length.
Membuat dan mengakses array:
int[] a = {10, 20, 30};— length3, indices0,1,2.a[0]adalah10;a[2]adalah30;a.lengthadalah3.a[3]menyebabkan ArrayIndexOutOfBoundsException (tidak ada indeks 3).
Buat array dengan new type[size] atau daftar inisialisasi {...}. Elemen diindeks dari 0 hingga length - 1, diakses sebagai a[i]. Ukurannya adalah bidang length (tanpa tanda kurung). Indeks di luar 0..length-1 akan memicu ArrayIndexOutOfBoundsException — gunakan perulangan dengan i < a.length.
Pengindeksan array dimulai dari 0
a[0]=10, a[1]=20, a[2]=30; a.length adalah 3.
Untuk int[] a = {10, 20, 30}; berapakah a[0]?
Array diindeks mulai dari 0, jadi a[0] adalah elemen pertama, yaitu 10.
Bagaimana cara mendapatkan ukuran array a?
Ukuran array adalah FIELD length (tanpa tanda kurung).
Untuk int[] a = {10, 20, 30}; berapakah a.length?
Tiga elemen → panjang 3.
Untuk array sepanjang 5, mengakses indeks 5 (a[5])...
Indeks valid adalah 0..4; indeks 5 berada di luar batas.
String menggunakan length() (metode) sedangkan array menggunakan length (field).
Sintaks berbeda — tanda kurung untuk String, tidak ada untuk array.