1.2 Satrlar bilan ishlash
Satrlar bilan ishlash hamma dasturlash tillarida keng qo'llaniladi. Shu sababdan hamma dasturchilar satrlar(String) bilan ishlashni yaxshi bilishi shart. Java dasturlash tilida ham satrlar(String) bilan ko'p ishlanadi. Javada satrlar(String) obyekt hisoblanadi va u String classidan olinadigan obyekt hisoblanadi. Bu obyektlarni e'lon qilish turlarini ko'rib o'tamiz.
String about = "This is Java String object";
String about = new String("This is too Java String object");
Satrlar belgilar ketma-ketligi jamlanmasi hisoblanadi. Ko'p tillarda satrlar o'zgarmas hisoblanadi. Javada ham satrlar o'zgarmasdur. Lekin biz satrni o'zgartirdik deb o'ylaymiz, aslida esa biz boshqa satr yaratib uni eski satrimizga o'zlashtirib qo'yamiz.
String a="java"; // a obyekti yaratildi va unga "java" degan qiymat linki berildi
a="Java"; /* bu yerda esa ''java'' linki olib tashlab "Java" degan linkga ega
obyektning linki o'zlashtirildi*/
Javada satrlarni o'zgartirish uchun maxsus classlar mavjud bular quydagilar:
StringBuffer
StringBuilder
String, StringBuffer, StringBuilder classlari java.lang kutubxonasida joylashgan. Satrlar belgilar ketma-ketligi uchun , unga konstruktori orqali belgilar massivini satr sifatida joylashtirish mumkin va u quydagicha:
char[] belgilar = {'j','a','v','a' };
String belgilarSatri = new String(belgilar);
//kod
package com.company;
public class Main {
public static void main(String[] args) {
char[] belgilar ={'j','a','v','a'};
String belgilarSatri = new String(belgilar);
System.out.println(belgilarSatri);
}
}
//natija
Bundan tashqari belgilar massividan qaysi oraliqdagi belgilarni satrga ugirishni ham bersa bo'ladi va u quydagicha:
char[] belgilar = {'j','a','v','a' };
String belgilarSatri = new String(belgilar, 2,2);
/*birinchi 2 bu yerda olinadigan elementlarning boshlanish indeksi, ikkinchi 2 esa olinadigan elementlar soni*/
//kod
package com.company;
public class Main {
public static void main(String[] args) {
char[] belgilar ={'j','a','v','a'};
String belgilarSatri = new String(belgilar,2,2);
System.out.println(belgilarSatri);
}
}
//natija
String obyektni StringBuilder yoki StringBuffer obyekti orqali ham yaratsa bo'ladi:
Satrlar obyekt bo'lgani uchun ularning method(Classlar tarkibidagi funksiyalar method deyiladi)lari ham mavjud va biz asosiy methodlarni ishlashi va ba'zi methodlarga teng kuchli bo'lgan operatorlarni ko'rib chiqamiz.
Satrni satrga qo'shish.
Satrni satrga qo'shish methodi bu concat() methodidur va u quydagicha ishlatiladi:
String s1 ="java";
String s2 ="is the best programming languages";
String s3= s1.concat(s2);
System.out.print(s3); /*bunda ekranga "java is the best programming
languages" satri chiqadi*/
Satrni satrga qo'shishni "+" operatori orqali ham amalga oshirsa bo'ladi.
String s1 ="java";
String s2 ="is the best programming languages";
String s3 = s1+s2; /* bu yerda s1 obyektni s2 obyektga qo'shib yangi obyekt
yaratiladi va s3 obyektga o'zlashtiriladi*/
String s1 += s2; /* bu yerda esa s1 obyektni s2 obyektga qo'shib yangi obyekt
yaratilib s1 obyektga o'zlashtiriladi */
System.out.print(s3); /*bunda ekranga "java is the best programming
languages" satri chiqadi*/
Agar boshqa tipni satrga qo'shsak u ham satr bo'ladi:
int son = 3;
String s1 = "uch";
s1 += son; // natija: uch3
Savol :
String s1 = "java";
s1.concat("zo'r dasturlash tili.");
System.out.print(s1);
Natija qanday chiqadi deb o'ylaysiz ! (O'ylab ko'ring javobni o'qishdan oldin!)
Bunda faqat "java" so'zi ekranga chiqadi. Sababi concat() methodi ishlatilganda s1 obyekti olinadi va unga "zo'r dasturlash tili." satr qo'shiladi va yangi obyektga joylab natija qaytariladi va biz qaytkan natijani hech qanday obyektga o'zlashtirganimiz yo'q. Shuning uchun s1 obyektimiz o'z holicha qoladi.
Do'stlaringiz bilan baham: |