Java proqramlaşdırma dilində bir simvol simvol ardıcıllığından başqa bir şey deyildir. Ən çox istifadə olunan obyektdir. Java String sinfində müxtəlif manipulyasiyalar üçün istifadə olunan bir çox metod var. Dəyişməzdir, mənası, dəyəri dəyişdirilə bilməz. Bir simvol bir sıra simvollara bərabərdir.
Mündəricat
Java'da bir simli yaratmaq
2 fərqli metoddan istifadə edərək bir simli yarada bilərik:
- Simli hərfi istifadə
- Yeni açar sözdən istifadə etmək
Bir simli hərfi istifadə edərək bir simli yaradın
Bu, a yaratmağın ən birbaşa yoludur sim Java-da. Dəyəri cüt tırnak içərisinə əlavə edərək bir sətir yarada bilərik. Burada String tipli “dəyər” dəyişəni “Java dili” adlanan simli saxlayır
String value = "Java language";
Bir simvol hərfi yaratdığımızda, JVM əvvəlcə simli varsa "simli sabit hovuzunu" yoxlayır. Əgər mövcud deyilsə, JVM yeni bir simli nümunəsi yaradır, əks halda yalnız toplanmış nümunəyə istinad qaytarılacaqdır. Məsələn, aşağıdakı halda, hər iki simli obyekt eyni dəyərə sahibdir. Buna görə yalnız 1 obyekt yaradılır (yəni s1) və s2 s1-ə istinad edəcəkdir. Bu, eyni dəyərlə nə qədər simli dəyişən yaratdığımızdan asılı olmayaraq, simli sabit hovuzda yalnız 1 nümunə yaradılacağı deməkdir.
“Simli daimi hovuz” simli obyektləri saxlamaq üçün xüsusi yaddaşdan başqa bir şey deyil.
String s1 = "Java language"; String s2 = "Java language";
Yeni açar sözdən istifadə edərək sətir yaratmaq
Eyni simli dəyər tutan 2 fərqli obyektə sahib olmaq istədikdə, istifadə edərək bir simli yaradırıq yeni aşağıda göstərildiyi kimi açar söz. Bu vəziyyətdə JVM yığın yaddaşında 2 fərqli simli obyekt yaradır
String s1 = new String("Java"); String s2 = new String("Java");
Java String Metodları
Java.lang.String sinfi, aşağıda göstərildiyi kimi fərqli simli manipulyasiyalar üçün istifadə olunan müxtəlif metodları dəstəkləyir:
Üsul | təsvir | Parameters |
---|---|---|
char charAt (int index) | Giriş sətrinin göstərilən indeksindəki simvolu qaytarır | indeks - sətrin indeks dəyəri |
int codePointAt (int index) | Göstərilən indeksdəki simvol unikod dəyərini qaytarır | indeks - sətrin indeks dəyəri |
int codePointBefore (int index) | Göstərilən indeksdən əvvəl mövcud olan simvolun unikod dəyərini qaytarır | indeks - sətrin indeks dəyəri |
int ComparTo (String anotherstring) | Simvolların unikod dəyərinə əsasən 2 sətri müqayisə edir və arqument sətirindən əvvəl mənfi dəyər qaytarır, əks halda müsbət nəticə verir. Hər iki simli bərabərdirsə, qaytarma dəyəri 0-dur | anotherstring - simli obyektlə müqayisə etmək üçün simli |
int ComparToIgnoreCase (String anotherstring) | Mübahisəni görməməzlikdən başqa, müqayisə metoduna bənzər. | anotherstring - simli obyektlə müqayisə etmək üçün simli |
String concat (String str) | İki sətir dəyərini birləşdirir | str - simli obyekt dəyəri ilə birləşdirmək üçün sətir |
boolean (CharSequence c) ehtiva edir | Sətrin göstərilən simvol ardıcıllığının olub-olmadığını yoxlayır və əgər varsa doğrudur | c - Simdə tapmaq üçün simvol ardıcıllığı |
boolean contentEquals (CharSequence c) | Sətrin tam simvol bərabərliyini ehtiva etdiyini yoxlayır və mövcud olduqda doğrudur | c - Simdə tapmaq üçün simvol ardıcıllığı |
boolean contentEquals (StringBuffer sb) | Sətrin müəyyən edilmiş sətir tamponunun olub olmadığını yoxlayır və əgər varsa, doğrudur | sb - Simli bufer tərkibi |
boolean bitirWith (Simli şəkilçi) | Sətrin göstərilən şəkilçi ilə bitib bitmədiyini yoxlayır və mövcud olduqda doğrudur | şəkilçi - simli yoxlamaq üçün şəkilçi |
boolean bərabərdir (Object obj) | Simli obyektin ötürülən obyektlə bənzərliyini yoxlayır və bərabər olduqda doğru qayıdır | obj - Müqayisə üçün obyekt |
boolean equalsIgnoreCase (String str) | İşi görməməzlikdən gəlməkdən asılı olmayaraq iki simli müqayisə edir və hər iki simli bərabər olduqda doğrudur | str - müqayisə ediləcək sətir |
int indexOf (int ch) | Sətirdə göstərilən unikod simvolunun ilk baş vermə indeksini qaytarır | ch - xarakterin unikod dəyəri |
int indexOf (String str) | Sətirdə göstərilən alt sətrin ilk meydana çıxma indeksini qaytarır | str - sətirdə mövcud olan alt sətir dəyəri |
boolean isBlank () | Doğru qayıdır, sətir boşdur və ya yalnız boş boşluqlardır | |
boolean isEmpty () | Sətir boş olduqda doğru qayıdır (yəni uzunluq 0) | |
int lastindexOf (int ch) | Sətirdə göstərilən unikod simvolunun son baş vermə indeksini qaytarır | ch - xarakterin unikod dəyəri |
int lastindexOf (String str) | Sətirdə göstərilən alt sətrin sonuncu göstəricisini qaytarır | str - sətirdə mövcud olan alt sətir dəyəri |
int uzunluğu () | Sətrin uzunluğunu qaytarır | |
boolean matçlar (String regex) | Sətir müəyyən edilmiş normal ifadə ilə uyğun gəlsə, doğru qayıdır | regex - Yoxlanacaq müntəzəm ifadə |
Simli təkrar (int sayı) | Saya əsasən simli birləşdirir | count - giriş sətrini birləşdirmək üçün neçə dəfə |
Simli əvəz et (char oldchar, char newchar) | Xarakterin bütün hadisələrini yeni simvolla əvəz edərək yeni sətri qaytarır | oldchar - dəyişdiriləcək simvol newchar - dəyişdiriləcək simvol |
Simli [] bölünmə (simli regexp) | Sazı müntəzəm ifadəyə əsasən bölür. Bu sıra qaytarır | regexp - simli bölmək üçün ayırıcı |
String [] split (String regexp, int limit) | Sətri müntəzəm ifadəyə və tətbiq olunma sayına əsasən bölür | regexp - simli bölmək üçün ayırıcı limit - nümunənin tətbiq olunma sayı |
boolean startWith (String prefiksi) | Verilən sətrin göstərilən prefikslə başladığını yoxlayır. Mövcud olduqda doğru qayıdır | prefiks - simli yoxlamaq üçün prefiks |
boolean startWith (String prefiksi, int tooffset) | Verilən sətrin çox set parametrinə əsasən müəyyən edilmiş prefikslə başlayıb başlamadığını yoxlayır. | prefiks - simli yoxlamaq üçün prefiks tooffset - axtarışa başlamaq lazım olan indeks |
Simli zolaq () | Həm aparıcı, həm də arxada boşluqların hamısı silinmiş bir simli qaytarır | |
Simli lentLeading () | Bütün aparıcı boşluqlar silinərək sətrin alt sətirini qaytarır | |
String stripTrailing () | Bütün arxa boşluqlar silinərək sətrin alt sətirini qaytarır | |
CharSequence alt sıra (int startIndex, int endIndex) | Başlanğıc və bitmə indeksinə əsaslanan sətrin simvol ardıcıllığını qaytarır | startIndex - alt sətrin alınması lazım olan indeks endIndex - alt sətrin alınması lazım olan indeks |
String subString (int startIndex) | Başlanğıc indeksinə əsasən sətrin alt sətirini qaytarır | startIndex - alt sətrin alınması lazım olan indeks |
String subString (int startIndex, int endIndex) | Başlanğıc və bitmə indeksinə əsasən sətrin alt sətirini qaytarır | startIndex - alt sətrin alınması lazım olan indeks endIndex - alt sətrin alınması lazım olan indeks |
char [] üçün CharArray () | Sətri simvol massivinə çevirir | |
LowerCase () simli | Satırdakı bütün simvolları kiçik hərflərə çevirir | |
String toLowerCase (Yerli lokal) | Yerdəki qaydalara əsasən sətirdəki bütün simvolları kiçik hərflərə çevirir | yerli - tətbiq ediləcək yerli qaydalar |
String toString () | Sətrin özünü qaytarır | |
String toUpperCase () | Satırdakı bütün simvolları böyük hərflərə çevirir | |
String toUpperCase (Yerli dil) | Yerdəki qaydalara əsasən sətirdəki bütün simvolları böyük hərflərə çevirir | yerli - tətbiq ediləcək yerli qaydalar |
Simli trim () | Bütün aparıcı və arxa boşluqların silindiyi bir simli qaytarır | |
Simli formatString (Simli format, obyekt ... args) | Format və arqumentlərə əsaslanan formatlanmış bir sətri qaytarır | format - format göstəricisi args - format göstəricisinə istinad edilən arqumentlər |
Simli qoşulma (CharSequence ayırıcı, CharSequence ... elementləri) | Bölücüdən istifadə edərək simvol ardıcıllığı elementlərinə qoşulur | ayırıcı - qoşulmaq üçün ayırıcı elementlər - birləşdiriləcək simli elementlər |
String valueOf (Boolean b) | Boolean arqumentinin simli nümayəndəliyini qaytarır. Doğru keçərsə, doğrunu qaytarır | b - doğru və ya yanlış olaraq boole dəyər |
String valueOf (char c) | Xarakter arqumentinin simli nümayəndəliyini qaytarır | c - xarakter |
String valueOf (char [] data) | Xarakter massivi arqumentinin simli nümayəndəliyini qaytarır | məlumat - simvol massivi |
Simli dəyərOf (cüt d) | İkiqat arqumentin simli nümayəndəliyini qaytarır | d - ikiqat dəyər |
String valueOf (float f) | Şamandıra arqumentinin simli nümayəndəliyini qaytarır | f - float dəyəri |
String valueOf (int i) | Tam arqumentin sətir nümayəndəliyini qaytarır | i - tam dəyər |
Simli dəyər IOf (uzun l) | Uzun arqumentin simli nümayəndəliyini qaytarır | l - uzun dəyər |
String valueOf (Object obj) | Obyekt arqumentinin simli nümayəndəliyini qaytarır | obj - obyekt |
String valueOf (char [] data, int ofset, int count) | Ofset və sayma əsasında spesifik substring simvol array arqumentinin bir simli nümayəndəliyini qaytarır | məlumat - simvol massivi ofset - indeksə başlayın count - alt sətrin uzunluğu |
Misal: Java proqramı, serial simvollarından bir sətir yaratmaq
Aşağıdakı nümunədə biz array simvolların yeni açar sözdən istifadə edərək Java-dakı simli.
public class StringDemo1 { public static void main(String[] args) { char[] c = {'j','a','v','a'}; String s = new String(c); System.out.println(s); } }
Output: java
Nümunə: length (), charAt () və indexOf () metodlarının istifadəsi
Aşağıdakı nümunə, müəyyən bir indeksdəki bir xarakteri necə alacağınızı, bir sətrin uzunluğunu əldə etməyinizi və müəyyən bir xarakterin indeksini necə əldə edəcəyinizi göstərir.
public class StringDemo2 { public static void main(String[] args) { String s1 = new String("Java tutorial"); System.out.println("The character at index 6 is : " + s1.charAt(6)); System.out.println("The length of the input string is : " + s1.length()); System.out.println("The index of letter 'v' is : " + s1.indexOf('v')); } }
Output: The character at index 6 is : u The length of the input string is : 13 The index of letter 'v' is : 2
Nümunə: ComparTo (), contentEquals () və ehtiva edən () istifadə
Bu nümunə Java-da 2 simli müqayisə göstərir
- comparTo (), giriş sətri arqument sətrini müvəffəq olduğu üçün burada müsbət bir tam ədədi qaytarır.
- comparToIgnoreCase (), 0-dan geri qaytarır, çünki hər iki sətir də vəziyyətdən asılı olmayaraq bərabərdir.
- contains () true qaytarır, çünki giriş sətri arqument sətrini ehtiva edir
- contentEquals () false qaytarır, çünki giriş sətri tam arqument sətrini içərmir.
public class StringDemo2 { public static void main(String[] args) { String s1 = new String("Java tutorial"); System.out.println("Comparison of input string with argument is : " + s1.compareTo("C++")); System.out.println("Comparison of input string with argument ignoring case is : " + s1.compareToIgnoreCase("JAVA TUTORIAL")); System.out.println("Output of contains method: " + s1.contains("tutorial")); System.out.println("Output of contentEquals method: " + s1.contentEquals("Java")); } }
Output: Comparison of input string with argument is : 7 Comparison of input string with argument ignoring case is : 0 Output of contains method: true Output of contentEquals method: false
Nümunə: bərabər istifadə etmək ()
1-ci çıxış səhvdir, çünki məzmunun eyni olmasına baxmayaraq iş uyğun gəlmir. 2-ci nəticə məzmun və vəziyyət uyğun olduğundan bəri doğru.
Hər iki məzmun fərqli olduğundan 3-cü çıxış səhvdir.
public class StringDemo3 { public static void main(String[] args) { String s1 = "java tutorial"; String s2 = "Java Tutorial"; String s3 = "java tutorial"; String s4 = "Tutorial cup"; System.out.println(s1.equals(s2)); System.out.println(s1.equals(s3)); System.out.println(s1.equals(s4)); } }
Output: false true false
Misal: simlərin birləşməsi
Concat () istifadə edərək Java-da 2 simli birləşdirə bilərik Java üsulu Simli sinif. “+” Normal olaraq çap ifadələrində istifadə olunan 2 və ya daha çox simli birləşdirmək üçün də istifadə olunur. 2 simli birləşdirərkən, simlər arasında boşluq daxil edilmir. Aşağıdakı nümunədə, s3 sətri, s1 və s2-nin birləşdirilmiş dəyərini ehtiva edir və bu, çap ifadəsində yeni bir sətirlə birlikdə istifadə olunur.
Java-da join () metodundan istifadə edərək 2 simli birləşdirə bilərik. Bu, mübahisədə verilən sözləri müəyyən edilmiş bir ayırıcı ilə birləşdirəcəkdir.
public class StringConcat { public static void main(String[] args) { String s1 = "Hello,"; String s2 = "how are you"; String s3 = s1.concat(s2); System.out.println(s3 + " today"); System.out.println(s1.join(",", "welcome","to","tutorialcup")); } }
Output: Hello,how are you today welcome,to,tutorialcup
Misal: Sətri böyük və kiçik hərf arasında çevirmək üçün Java proqramı
public class StringCase { public static void main(String[] args) { String s1 = "Welcome to tutorialcup"; System.out.println("Convert to lower case: " + s1.toLowerCase()); System.out.println("Convert to upper case: " + s1.toUpperCase()); } }
Output: Convert to lower case: welcome to tutorialcup Convert to upper case: WELCOME TO TUTORIALCUP
Nümunə: Java'da substring istifadə
Java istifadə edərək simli bir hissəsini alt sətir metod. İndeks dəyəri 0-dan başlayır.
public class StringDemo3 { public static void main(String[] args) { String s1 = "java tutorial"; System.out.println(s1.substring(3)); System.out.println(s1.substring(1, 10)); } }
Output: a tutorial ava tutor
Nümunə: Split istifadə edin və dəyişdirin
Split, Java-da ən çox istifadə edilən String metodudur. Bu misalda əvvəlcə "" ayırıcıdan istifadə edərək giriş sətrini böldük. Buna görə bu, hər sözü ayrı-ayrılıqda yazdırır. Sonra, ayırıcıya görə bölünürük, ancaq limiti 2 olaraq təyin edirik ki, bu da yalnız iki simli sıra dəyərinə bölünür.
Əvəzetmənin 1-ci nümunəsində fərdi xarakteri əvəz edirik. Növbəti, biz simvol ardıcıllığı əvəz.
public class StringDemo4 { public static void main(String[] args) { String str1 = "Welcome to java programming"; System.out.println("Split output using delimiter:"); //Split using only delimiter String[] arrval = str1.split(" "); for(int i=0;i<arrval.length;i++) { System.out.println(arrval[i]); } System.out.println("\nSplit output using delimiter and limit:"); //Split using delimiter and limit String[] arrval2 = str1.split(" ", 2); for(int i=0;i<arrval2.length;i++) { System.out.println(arrval2[i]); } System.out.println("\nReplace output with character:"); //Replace character String str2 = str1.replace('j', 'J'); System.out.println(str2); System.out.println("\nReplace output with character sequence:"); String str3 = str1.replace("java", "javascript"); System.out.println(str3); } }
Output: Split output using delimiter: Welcome to java programming Split output using delimiter and limit: Welcome to java programming Replace output with character: Welcome to Java programming Replace output with character sequence: Welcome to javascript programming
Nümunə: Java Format sətri
İstənilən birini formatlaya bilərik məlumat növü format metodundan istifadə edərək bir simli. Burada misal olaraq string (“% s”), float (% f ”) və boolean (“% b ”) istifadə edirik.
public class StringFormat { public static void main(String[] args) { String str = "Java"; String formatstring1 = String.format("Programming language is %s",str); String formatstring2 = String.format("Float value is %f", 55.6789); String formatstring3 = String.format("Boolean value is %b", true); System.out.println(formatstring1); System.out.println(formatstring2); System.out.println(formatstring3); } }
Output: Programming language is Java Float value is 55.678900 Boolean value is true
nəticə
Bu təlimatda Java-dakı String, onu yaratmağın müxtəlif yolları və nümunələrlə yanaşı fərqli simli metodlar haqqında məlumat əldə etdiniz.