Ikhtisar pembelajaran: Dalam lapan hari pertama, kami mempelajari asas tatabahasa, pengendali dan ungkapan, struktur gelung dan struktur cawangan Hari ini, kami terutamanya mempelajari definisi tatasusunan, atribut yang berkaitan kaedah, dan storan tatasusunan, ralat biasa
Matlamat pembelajaran: Kuasai dua kaedah takrif tatasusunan, sifat berkaitan, fahami prinsip ingatan, resolusi ralat
Jenis data [] nama tatasusunan = { elemen 1, elemen 2, elemen 3, …3 Permulaan dinamik tatasusunanCiri: Tentukan jenis elemen dan panjang tatasusunan apabila mentakrif tatasusunan, dan kemudian Simpan data Format umum:Contohnya:
int [] array= {1,2,3,4; ,5};
markah berganda[] = {88.5, 99.5, 59.5};
Jenis data [] nama tatasusunan = jenis data baharu [panjang]Nilai lalai:Contohnya :
int [] array= new int [5];
double[] scores = new double[3];
Jenis data | Jenis definisi khusus | Nilai lalai | |||||||||||||
Jenis asas | bait, pendek, aksara, int, panjang
|
0 td> | |||||||||||||
terapung, dua kali ganda | 0.0 | ||||||||||||||
boolean | salah | ||||||||||||||
Jenis rujukan | Kelas, antara muka, tatasusunan, Rentetan | null |
Susun atur sesuai untuk jumlah data yang besar daripada jenis yang sama
Pemulaan statik sesuai untuk mengetahui elemen nilai
Pemulaan dinamik sesuai untuk tidak mengetahui data yang hendak disimpan
Nama tatasusunan [indeks]Contoh soalan:
rreee
2 Panjang boleh dipanggil terus panjang mendapat panjang tatasusunan. Contoh soalan://静态初始化数组 int [] array= {1,2,3,4,5}; System.out.println(array[0]);//输出 1 System.out.println(array[1]);//输出 2 System.out.println(array[3]);//输出 4
//静态初始化数组 int [] array= {1,2,3,4,5}; System.out.println(array.length);//调用方法,输出长度 5 //最大索引array.length-1
10 8 9 6 8 71 9 994 🎜>
Pelaksanaan pengekodan:
//静态初始化数组 int [] array= {10,8,9,4,5,6,8,71,2,3,9,99}; for(int i=0;i<array.length;i++) { if(array[i]>5) System.out.println(array[i]); }
Hasil output:
[I@15db97420Pengamatan dinamik mula-mula menjana yang baharu dalam ingatan timbunan Nilai alamat arr, bergantung pada hasil pengkompil, anggap 001 di sini. Disebabkan pemulaan dinamik, setiap elemen mempunyai nilai permulaan Untuk butiran, lihat jadual di atas. Apabila kita mengeluarkan elemen, kita mula-mula mengakses alamat nama tatasusunan, pergi ke subskrip memori timbunan, dan kemudian keluarkan nilai elemen.0
0
[I@15db9742
10 🎜>0
200
Penjelasan prinsip:
2. Peta memori pelbagai tatasusunan
Prinsip menggunakan pelbagai tatasusunan dan memori tatasusunan tunggal adalah sama, jadi saya tidak akan pergi ke butiran di sini.
3. Tatasusunan menghala ke memori yang sama Jika kita menukar nilai alamat kedua-dua tatasusunan menjadi sama, apakah hasil yang diubah suai, seperti yang ditunjukkan dalam kod di bawah. Pelaksanaan pengekodan://动态初始化数组 int [] arr=new int[3]; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //修改值 arr[0]=100; arr[2]=200; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]);
[I@15db9742
100200Array pertama ada dalam timbunan memori Alamat ialah 001, dan tatasusunan kedua juga 001, jadi mengubahsuai nilai tatasusunan kedua sebenarnya ialah memori tatasusunan yang sama. Nilai tatasusunan pertama juga akan berubah dengan sewajarnya, dan hasilnya adalah seperti berikut: 5 Soalan Lazim300<@🎜> 15db9742
111
[I@15db9742
111
Penjelasan prinsip:
1
//动态初始化数组 int [] arr=new int[3]; arr[0]=100; arr[1]=200; arr[2]=300; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); int [] arr2=arr; arr2[0]=111; arr2[1]=222; arr2[2]=333; System.out.println(arr); System.out.println(arr[0]); System.out.println(arr2); System.out.println(arr2[0]);
Pengecualian dalam utas "utama" java.lang.ArrayIndexOutOfBoundsException : 3
Penjelasan: Kami memulakan tatasusunan secara statik dan memberikannya 3 nombor Indeks maksimum ialah 2. Apabila kami mengakses 3, ralat akan dilaporkan
//静态初始化数组 int [] array= {1,2,3}; System.out.println(array[3]);
Atas ialah kandungan terperinci Contoh analisis cara menggunakan tatasusunan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!