Definisi dan penggunaan array java <br /> Jika Anda ingin menyimpan satu set data dari jenis yang sama, Anda dapat menggunakan array.
Definisi array dan alokasi memori
Ada dua sintaksis untuk mendefinisikan array di java:
ketik arrayname [];
Jenis adalah tipe data apa pun di Java, termasuk tipe dasar dan kombinasi. Misalnya:
int demoarray []; int [] demoarray;
Tidak ada perbedaan antara kedua bentuk ini, dan efek penggunaannya persis sama.
Tidak seperti C dan C ++, Java tidak mengalokasikan memori untuk elemen array saat mendefinisikan array, jadi tidak perlu menentukan jumlah elemen array, yaitu, panjang array. Selain itu, untuk array yang ditentukan di atas, ia tidak dapat mengakses elemennya.
arrayName = tipe baru [arraysize];
Di mana arraysize adalah panjang array dan jenis adalah jenis array. menyukai:
demoarray = int baru [3];
Alokasikan ruang memori yang ditempati oleh 3 integer int ke array integer.
Biasanya, Anda dapat mengalokasikan ruang saat mendefinisikan, dengan sintaks sebagai:
ketik arrayname [] = tipe baru [arraysize];
Misalnya:
int demoarray [] = int new [3];
Inisialisasi array
Anda dapat menginisialisasi (inisialisasi statis) sambil mendeklarasikan array, atau Anda dapat menginisialisasi setelah deklarasi (inisialisasi dinamis). Misalnya:
// Inisialisasi statis // Saat inisialisasi statis, ia mengalokasikan ruang untuk array elemen dan memberikan nilai int intarray [] = {1,2,3,4}; string stringArray [] = {"wechatyuan", "http: // www .weixueyuan.net "," semua bahasa pemrograman adalah kertas harimau "}; // inisialisasi dinamis floatray floatray [] = float baru [3]; floatarray [0] = 1.0f; floatarray [1] = 132.63F; floatarray [2] = 100f;Referensi Array
Array dapat direferensikan dengan subskrip:
arrayName [indeks];
Tidak seperti C dan C ++, Java harus melakukan pemeriksaan di luar elemen array untuk memastikan keamanan.
Setiap array memiliki atribut panjang untuk menunjukkan panjangnya, misalnya, intarray.length menentukan panjang array intarray.
[Contoh] Tulis sepotong kode yang memerlukan input dari setiap 5 bilangan bulat dan output jumlah mereka.
impor demo kelas publik {public static void main (string [] args) {int intarray [] = int [5]; Berikan elemen array System.out.print ("Harap masukkan" + len + "bilangan bulat, dipisahkan oleh spasi:"); ) {intarray [i] = sc.nextInd (); ("Jumlah semua elemen array adalah:" + total); Hasil Menjalankan:
Harap masukkan 5 bilangan bulat, dipisahkan oleh spasi: 10 20 15 25 50
Jumlah semua elemen array adalah: 120
Array Traversal
Dalam pengembangan yang sebenarnya, sering kali perlu melintasi array untuk mendapatkan setiap elemen dalam array. Cara termudah untuk dipikirkan adalah loop, misalnya:
int arraydemo [] = {1, 2, 4, 7, 9, 192, 100}; untuk (int i = 0, len = arraydemo.length; i <len; i ++) {System.out.println (arrayDemo [i ] + ",");}
Hasil output:
1, 2, 4, 7, 9, 192, 100,
Namun, Java menyediakan "versi yang ditingkatkan" untuk loop, yang secara khusus digunakan untuk melintasi array, dengan sintaks:
untuk (arrayType varname: arrayname) {// beberapa kode}
ArrayType adalah tipe array (juga jenis elemen array);
Setiap loop dilakukan, nilai elemen berikutnya dalam array diperoleh dan disimpan ke variabel varname sampai akhir array. Artinya, nilai varname di loop pertama adalah elemen ke -0, dan loop kedua adalah elemen pertama ... misalnya:
int arraydemo [] = {1, 2, 4, 7, 9, 192, 100}; for (int x: arraydemo) {system.out.println (x + ",");}
Hasil output sama seperti di atas.
Versi yang ditingkatkan untuk loop ini juga disebut "foreach loop", yang merupakan versi khusus yang disederhanakan dari pernyataan loop. Semua loop foreach dapat ditulis ulang untuk loop.
Namun, jika Anda ingin menggunakan indeks array, peningkatan untuk loop tidak dapat melakukannya.
Array dua dimensi
Deklarasi, inisialisasi, dan referensi array dua dimensi mirip dengan array satu dimensi:
int intarray [] [] = {{1,2}, {2,3}, {4,5}}; int a [] [] = int int [2] [3]; a [0] [0] = 12; a [0] [1] = 34; // ...... a [1] [2] = 93; Dalam bahasa Java, karena array dua dimensi dianggap sebagai array array, ruang array tidak terus dialokasikan, sehingga ukuran masing-masing dimensi array dua dimensi tidak harus sama. Misalnya:
int intarray [] [] = {{1,2}, {2,3}, {3,4,5}}; int a [] [] = new int [2] []; a [0] = baru int [3]; a [1] = int baru [5]; [Contoh] Hitung produk dari dua matriks melalui array dua dimensi.
Demo kelas publik {public static void main (string [] args) {// matriks pertama (inisialisasi dinamis dari array dua dimensi) int a [] [] = int baru [2] [3]; Matriks (secara statis menginisialisasi array 2D) int b [] [] = {{1,5,2,8}, {5,9,10, -3}, {2,7, -5, -18}}; // Hasil matriks int c [] [] = int new [2] [4]; j ++) a [i] [j] = (i+1) * (j+2); <4; j ++) {c [i] [j] = 0; [j];}} // hasil penyelesaian output untuk (int i = 0; i <2; i ++) {untuk (int j = 0; j <4; j ++) system.out.printf ("%-5d", c [i] [j]); Hasil Menjalankan:
25 65 14 -65 50 130 28 -130
Beberapa penjelasan:
Di atas adalah array statis. Setelah array statis dinyatakan, kapasitasnya diperbaiki dan tidak dapat diubah. Oleh karena itu, ketika mendeklarasikan array, Anda harus mempertimbangkan kapasitas maksimum array untuk mencegah kapasitas yang tidak mencukupi.
Jika Anda ingin mengubah kapasitas saat menjalankan program, Anda perlu menggunakan daftar array (ArrayList, juga dikenal sebagai array dinamis) atau vektor (vektor).
Justru karena kerugian dari kapasitas tetap array statis yang tidak sering digunakan dalam pengembangan aktual dan digantikan oleh arraylist atau vektor, karena dalam pengembangan aktual, sering kali perlu menambah atau menghapus elemen ke array, dan kapasitasnya adalah tidak mudah diperkirakan.
String java (string)
Di permukaan, string adalah data antara kutipan ganda, seperti "weixueyuan", "http://www.weixueyuan.net", dll. Di Java, Anda dapat menggunakan metode berikut untuk menentukan string:
String stringName = "string content";
Misalnya:
String url = "http://www.weixueyuan.net"; string webname = "wechatyuan";
String dapat digabungkan melalui "+".
Demo Public {public static void main (string [] args) {string stuname = "xiao ming"; Nilai adalah " + stuscore; system.out.println (info);}} Hasil Menjalankan:
Usia Xiao Ming berusia 17 dan nilai 92.5
String string memiliki satu kesamaan dengan array, yaitu, setelah mereka diinisialisasi, panjangnya tetap tidak berubah dan isinya tetap tidak berubah. Jika Anda ingin mengubah nilainya, string baru akan dihasilkan, seperti yang ditunjukkan di bawah ini:
String str = "hello"; str += "world!";
Ekspresi penugasan ini terlihat sedikit seperti solitaire sederhana, menambahkan "dunia!" Prinsip operasi adalah sebagai berikut: Program pertama menghasilkan string STR1 dan berlaku untuk sepotong ruang dalam memori. Tidak mungkin untuk menambahkan string baru saat ini karena panjang string diperbaiki setelah diinisialisasi. Jika Anda ingin mengubahnya, Anda hanya dapat melepaskan ruang asli, menampilkan kembali ruang memori yang dapat mengakomodasi "Hello World!"
Faktanya, string adalah kelas di bawah paket java.lang.
String stringName = string baru ("string content");
Misalnya:
String url = string baru (http://www.weixueyuan.net);
Namun, karena string secara umum digunakan, Java memberikan sintaksis yang disederhanakan.
Alasan lain untuk menggunakan sintaks yang disederhanakan adalah bahwa menurut sintaks yang berorientasi objek standar, ada limbah yang relatif besar dalam penggunaan memori. Misalnya, string str = string baru ("ABC"); sebenarnya membuat dua objek string, satu adalah objek "ABC", disimpan dalam ruang konstan, dan yang lainnya adalah ruang yang diterapkan untuk objek STR menggunakan kata kunci baru.
Operasi string
Ada banyak cara untuk mengoperasikan string dengan mudah.
1) Metode panjang ()
length () mengembalikan panjang string, misalnya:
String str1 = "weixueyuan"; string str2 = "weixueyuan"; System.out.println ("Panjang str1 adalah" + str1.length ()); System.out.println ("Panjang st r2 adalah" + str2.length ());
Hasil output:
Panjang str1 adalah 3 panjang str2 adalah 10
Dapat dilihat bahwa panjang masing -masing karakter adalah 1, apakah itu huruf, angka, atau karakter Cina.
2) Metode ChARAT ()
Fungsi metode chARAT () adalah untuk mendapatkan karakter yang ditentukan dalam string sesuai dengan nilai indeks. Java menetapkan bahwa nilai indeks dari karakter pertama dalam string adalah 0, nilai indeks dari karakter kedua adalah 1, dan seterusnya. Misalnya:
String str = "123456789"; System.out.println (str.charat (0) + "" + str.charat (5) + "" + str.charat (8));
Hasil output:
1 6 9
3) berisi () metode
Metode contains () digunakan untuk mendeteksi apakah string berisi substring, misalnya:
String str = "weixueyuan"; System.out.println (str.contains ("yuan"));
Hasil output:
BENAR
4) Metode Ganti ()
Penggantian string, digunakan untuk mengganti semua substring yang ditentukan dalam string, misalnya:
String str1 = "URL WEIXUEYUAN adalah www.weixueyuan.net!"; String str2 = str1.replace ("weixueyuan", "weixueyuan"); System.out.println (str1); Syste m.out.println (str2 );
Hasil output:
URL WEIXUEYUAN adalah www.weixueyuan.net! Url Weixueyuan adalah www.weixueyuan.net!
Catatan: Metode REPLACE () tidak mengubah string asli, tetapi menghasilkan string baru.
5) Metode split ()
Gunakan string yang ditentukan sebagai pembatas untuk membagi string saat ini.
Impor Java.util.*; Demo Kelas Publik {public static void main (string [] args) {string str = "wei_xue_yuan_is_good"; Array .toString (strarr));}}
Hasil Menjalankan:
[Wei, Xue, Yuan, IS, Bagus]
Di atas hanya mencantumkan beberapa metode objek string yang umum digunakan.