Pemulaan rentetan ialah salah satu bahagian asas pengaturcaraan. Inisialisasi rentetan bermakna memberikan nilai kepada pembolehubah sebelum ia digunakan dalam program java. Inisialisasi rentetan boleh dilakukan dalam dua cara:
Rentetan ialah objek dalam java. Rentetan merujuk kepada beberapa urutan aksara. Ia juga dikenali sebagai susunan aksara. String sentiasa ditunjukkan dalam petikan; malah petikan bukan sebahagian daripada String. Inisialisasi rentetan juga berlaku dalam dua langkah, yang pertama ialah pengisytiharan & yang kedua ialah inisialisasi. Pengisytiharan rentetan merujuk kepada pengisytiharan Rentetan tanpa memberikan sebarang nilai secara eksplisit. Dalam kebanyakan kes penggunaan, satu-satunya pengisytiharan String tidak memerlukan permulaan.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokDalam java, String dimulakan dalam pelbagai cara. Sama ada dengan menggunakan constructor atau dengan menggunakan Literal. Terdapat perbezaan dalam memulakan String dengan menggunakan kata kunci baharu & menggunakan Literal. Memulakan String menggunakan kata kunci baharu setiap kali mencipta objek java baharu. Pembolehubah yang ditakrifkan tetapi tidak dimulakan tidak boleh digunakan dalam program kerana ia tidak memegang sebarang nilai.
Pemulaan rentetan menggunakan kata kunci baharu. Memulakan String menggunakan kata kunci baharu mencipta objek baharu dalam timbunan memori. Rentetan yang dimulakan melalui objek adalah boleh ubah bermaksud untuk mengatakan nilai rentetan boleh ditugaskan semula selepas permulaan.
String strMsg = new String("Be specific towards your goal!");
Apabila memulakan objek menggunakan pembina, pengkompil java mencipta objek baharu dalam ingatan timbunan. Memori timbunan ialah memori simpanan untuk JVM.
Pemulaan rentetan menggunakan Literals. Pemulaan rentetan menggunakan Literal mencipta objek dalam kawasan terkumpul memori.
String strMsg = "Be specific towards your goal!";
Apabila memulakan String menggunakan Literal & nilai yang diberikan kepadanya sudah dimulakan dalam String lain. Dalam senario sedemikian, String yang dibuat melalui Literal tidak mencipta objek baharu. Ia hanya melepasi rujukan kepada objek yang dibuat sebelum ini.
Berikut diterangkan ialah contoh yang berbeza bagi pemulaan rentetan dalam java.
Dalam String yang dibuat di bawah, kedua-dua String dibuat menggunakan Literal.
Kod:
String ObjStringFirst="Welcome"; String ObjStringSecond="Welcome";
Dalam String yang diberikan di atas, kami mencipta objek menggunakan String Literal. Dalam keadaan sedemikian, jika objek sudah wujud dengan nilai yang sama, ia akan mengembalikan objek yang sama; jika tidak, ia akan mencipta objek baharu.
Dalam contoh yang diberikan di bawah, kita dapat melihat cara Rentetan dimulakan.
Kod:
public class StringExample { public static void main(String[] args) { String nameFirst = "Alister"; String nameSecond = "Campbell"; String nameThird = new String("Adam"); String nameFourth = new String("Martin"); //String nameFifth; String strNullFirst = null; String strNullSecond = null; String strNullThird = null; System.out.println("String initialized :"); //printing variable which are initialized System.out.println("First : " + nameFirst); System.out.println("Second : " + nameSecond); System.out.println("Third : " + nameThird); //printing variable which are declared but not initialized //System.out.println("String declared but not initialized :"); //System.out.println("Fifth : " + nameFifth); } }
Output:
Dalam contoh ini, pengisytiharan pembolehubah String diberikan. Ia mengandungi pembolehubah yang diisytiharkan tetapi tidak dimulakan semasa menyusun atur cara.
Kod:
public class StringExample { public static void main(String[] args) { String nameFirst; //printing variable which are declared but not initialized System.out.println("String declared but not initialized :"); System.out.println("Fifth : " + nameFirst); } }
Output:
Output program di atas diberikan di bawah. Program yang diberikan di atas akan menghasilkan ralat pada penyusunan. Rentetan diisytiharkan tetapi tidak dimulakan.
Selepas pengisytiharan String, jika sebarang nilai diberikan kemudian untuk pembolehubah String yang diisytiharkan, maka kompilasi tidak akan membuang sebarang ralat (sebagai permulaan String mengambil dua bahagian). Yang pertama ialah pengisytiharan & yang kedua ialah tugasan.
Dalam contoh ini, mari kita gunakan pemulaan Rentetan dengan nilai kosong. Semua pembolehubah String yang dimulakan melalui nilai kosong akan mempunyai objek yang berbeza untuk ketiga-tiganya kerana String yang dimulakan melalui Literal akan mencipta Objek dalam kolam String manakala String yang dimulakan melalui kata kunci baharu akan mencipta objek dalam kawasan timbunan memori.
Kod:
public class StringExample { public static void main(String[] args) { String strVal1 = ""; String strVal2 = new String(); String strVal3 = new String(""); //printing variable which are initialized with empty values System.out.println("String Values :"); System.out.println("First : " + strVal1); System.out.println("Second : " + strVal2); System.out.println("Third : " + strVal3); } }
Output:
Dalam atur cara yang diberikan di atas, walaupun objek untuk Strings adalah berbeza, tetapi nilai yang diberikan kepada String adalah sama. Output yang diberikan di bawah menunjukkan cara nilai kosong diberikan kepada setiap pembolehubah String.
Dalam program yang diberikan di bawah, perbandingan rentetan yang dimulakan di atas diberikan. Menggunakan di sini tiga cara untuk membandingkan String.
1. == operator: In java == operator compare the references, not the values.
2. equals() method: It compares the variable’s value, not the references; hence, if the value matches both the String variable, it returns true other false.
3. compareTo() method: compareTo() method check the values & if values are identical then it return 0 otherwise it return + & – based on the below given comparison.
Code:
public class StringExample { public static void main(String[] args) { String strVal1 = ""; String strVal2 = new String(); String strVal3 = new String(""); //printing variable which are initialized with empty values System.out.println("String Values :"); System.out.println("First : " + strVal1); System.out.println("Second : " + strVal2); System.out.println("Third : " + strVal3); System.out.println(" \nComparing strings using == operator :"); System.out.println("Comparing first two strings :"); System.out.println(strVal1 == strVal2); System.out.println("Comparing last two strings :"); System.out.println(strVal2 == strVal3); System.out.println("Comparing first & last strings :"); System.out.println(strVal1 == strVal3); System.out.println(" \nComparing strings using equals method :"); System.out.println("Comparing first two strings :"); System.out.println(strVal1.equals(strVal2)); System.out.println("Comparing last two strings :"); System.out.println(strVal2.equals(strVal3)); System.out.println("Comparing first & last strings :"); System.out.println(strVal1.equals(strVal3)); System.out.println(" \nComparing strings using compareTo method :"); System.out.println("Comparing first two strings :"); System.out.println(strVal1.compareTo(strVal2)); System.out.println("Comparing last two strings :"); System.out.println(strVal2.compareTo(strVal3)); System.out.println("Comparing first & last strings :"); System.out.println(strVal1.compareTo(strVal3)); } }
Output:
The output of the comparing string program is given below. It contains the output after comparing the Strings in three different ways; thus, outcomes of the comparison are also different according to the method applied.
The above-given article explains the initialization of String & different types of ways to initialize the String in java. Also given examples in the article describe the internal creation of objects when initiating String using Literal. It also describes the difference between declaration & initialization.
Atas ialah kandungan terperinci Inisialisasi Rentetan dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!