1. Array satu dimensi
1.1 Pengertian array satu dimensi
ketik Namaarray[];ketik[] Namaarray;
Tipe (tipe) dapat berupa tipe data apa pun di Java, termasuk tipe kombinasi tipe sederhana. Nama array nama array adalah pengidentifikasi hukum, dan [] menunjukkan bahwa variabel tersebut adalah variabel tipe array.
Bentuk lainnya mungkin sangat aneh bagi pengembang C++, tetapi untuk bahasa pengembangan seperti JAVA atau C#, bentuk lainnya mungkin lebih intuitif, karena yang didefinisikan di sini hanyalah variabel, dan sistem tidak membuat instance-nya. , Anda hanya perlu menentukan tipe variabel, dan tidak perlu menentukan ukuran array di []. (Apakah bentuk pertama hanya untuk kesesuaian dengan kebiasaan masa lalu? Lagi pula, pengaruh bahasa C terlalu besar?)
Misalnya:
int intArray[]; mendeklarasikan array bilangan bulat, dan setiap elemen dalam array adalah data bilangan bulat. Berbeda dengan C dan C++, Java tidak mengalokasikan memori untuk elemen array dalam definisi array. Oleh karena itu, [] tidak perlu menunjukkan jumlah elemen dalam array, yaitu panjang array, dan Anda tidak dapat menanyakannya. apa pun tentang array yang didefinisikan seperti di atas. Kita harus mengalokasikan ruang memori untuk itu. Saat ini, kita perlu menggunakan operator new. Formatnya adalah sebagai berikut: arrayName=new type[arraySize]; Misalnya: intArray=new int[3];
Alokasikan ruang memori yang ditempati oleh 3 bilangan bulat tipe int untuk array bilangan bulat.
Biasanya kedua bagian ini bisa digabungkan, dengan format sebagai berikut:
ketik namaarray=tipe baru[Ukuran array]; Misalnya: int intArray=int baru[3];
1.2 Referensi ke elemen array satu dimensi
Setelah mendefinisikan array dan mengalokasikan ruang memori untuknya menggunakan operator baru, Anda dapat mereferensikan setiap elemen dalam array. Elemen array direferensikan sebagai:
nama array[indeks]
Diantaranya: indeks adalah subskrip array, yang dapat berupa konstanta bilangan bulat atau ekspresi. Seperti a[3], b[i] (i adalah bilangan bulat), c[6*I], dll. Subskrip dimulai dari 0 dan naik ke panjang array dikurangi 1. Untuk nomor in-tArray pada contoh di atas mempunyai 3 elemen yaitu:
intArray[0], intArray[1], intArray[2]. Catatan: Tidak ada intArray[3].
Selain itu, tidak seperti C dan C++, Java memerlukan pemeriksaan di luar batas pada elemen array untuk memastikan keamanan. Pada saat yang sama, setiap array memiliki atribut panjang yang menentukan panjangnya, misalnya: intArray.length menentukan panjang array intArray.
kelas publik ArrayTest{ public static void main(String args[]){ int i; int a[]=new int[5]; untuk(i=0;i<5;i++) a[i]=i; i=a.panjang-1;i>=0;i--) Sistem.keluar.println("a["+i+"]="+a[i] }}
Hasil eksekusinya adalah sebagai berikut:
C:/>java ArrayTesta[4]=4a[3]=3a[2]=2a[1]=1a[0]=0
Program ini memberikan nilai pada setiap elemen dalam array dan mengeluarkannya dalam urutan terbalik.
1.3 Inisialisasi array satu dimensi
Elemen array dapat diberi nilai sesuai dengan contoh di atas. Itu juga dapat diinisialisasi pada saat yang sama ketika array ditentukan.
Misalnya:
int a[]={1, 2, 3, 4, 5};
Pisahkan setiap elemen array dengan koma (,), dan sistem akan secara aktif mengalokasikan sejumlah ruang untuk array.
Berbeda dengan C, Java tidak mengharuskan array menjadi statis saat ini. Faktanya, variabel di sini mirip dengan pointer di C, sehingga masih valid untuk digunakan sebagai nilai kembalian untuk fungsi lainnya C, variabel lokal Kembali ke fungsi pemanggilan untuk terus menggunakannya adalah kesalahan yang sangat mudah bagi orang yang baru belajar.
2. Array multidimensi
Seperti C dan C++, array multidimensi di Java dianggap sebagai array dari array. Misalnya, array dua dimensi adalah array satu dimensi khusus, dan setiap elemen adalah array satu dimensi. Di bawah ini kami terutama menggunakan bilangan dua dimensi sebagai contoh untuk menggambarkan situasi di dimensi tinggi serupa.
2.1 Pengertian array dua dimensi
Array dua dimensi didefinisikan sebagai:
ketik NamaArray[][];
Misalnya:
int intArray[][];
Seperti array satu dimensi, tidak ada ruang memori yang dialokasikan untuk elemen array saat ini. Pada saat yang sama, operator new harus digunakan untuk mengalokasikan memori sebelum setiap elemen dapat diakses.
Untuk array berdimensi tinggi, ada beberapa metode untuk mengalokasikan ruang memori:
1. Mengalokasikan ruang secara langsung untuk setiap dimensi, seperti:
int a[][]=int baru[2][3];
2. Dimulai dari dimensi yang paling tinggi, alokasikan ruang untuk setiap dimensi, seperti:
int a[][]=int baru[2][];a[0]=int baru[3];a[1]=int baru[3];
Selesaikan fungsi yang sama seperti pada 1. Berbeda dengan C dan C++ yang panjang setiap dimensinya harus ditentukan satu kali.
2.2 Referensi elemen array dua dimensi
Untuk setiap elemen dalam array dua dimensi, metode referensinya adalah: arrayName[index1][index2] dengan indeks1 dan indeks2 adalah subskrip, yang dapat berupa konstanta atau ekspresi bilangan bulat, seperti a[2][3], dll., sama, setiap subskrip satu dimensi semuanya dimulai dari 0.
2.3 Inisialisasi array dua dimensi
Ada dua cara:
1. Tetapkan nilai secara langsung ke setiap elemen.
2. Inisialisasi array pada waktu yang sama seperti yang ditentukan.
Misalnya: int a[][]={{2, 3}, {1, 5}, {3, 4}};
Tentukan array 3×2 dan berikan nilai pada setiap elemen.