CodeGym /Kurslar /Java SELF AZ /String sinfinin quruluşu

String sinfinin quruluşu

Java SELF AZ
Səviyyə , Dərs
Mövcuddur

1. String sinfinin quruluşu

Bu gün String sinfi haqqında danışacağıq. String sinfi, Java-da int tipindən sonra ən məşhur sinifdir. Onu hər yerdə istifadə edirlər. Bu sinifdə çox faydalı metodlar var və onları bilmək bilməməkdən yaxşıdır.

String sinfi, primitiv tiplərdən başqa, literalardan switch-də istifadə oluna bilən yeganə sinifdir; kompilyator sətirlərin və obyektlərin birləşməsini xüsusi şəkildə idarə edir; String obyektləri yaddaşda xüsusi şəkildə saxlanılır. Ümumiyyətlə, String çox spesifik bir sinifdir.

Bundan əlavə, String sinfinin bir çox köməkçi sinifləri var ki, əsas məqsədləri Java-da sətir üzərində işləri daha da asanlaşdırmaqdır. Bunların hamısını öyrəndiyiniz zaman, bir çox şeyləri etmək sizin üçün həqiqətən daha rahat olacaq. Amma gəlin bu ekosistemin ürəyindən başlayaq - String sinfinin quruluşundan.

Simvol massivi

String sinfi əslində çox sadə qurulub: onun içində bir simvol (char) massivi var və o, sətirin bütün simvollarını saxlayır. Məsələn, «Salam» sözü belə saxlanılır:

String sinfinin quruluşu
Vacibdir!

Əslində hər şey bir az fərqlidir. String sinfi çox vacib olduğundan orada çoxlu optimizasiya tətbiq olunur və məlumatlar simvol massivi şəklində deyil, sadəcə bayt massivi şəklində saxlanılır.


2. String sinfinin metodları

String sinfinin çoxlu metodları var: yalnız konstruktorların sayı 18-dir! Ona görə də, burada yalnız əsas metodları qeyd etmişik:

Metodlar İzah
int length()
String-dəki simvolların sayını qaytarır
boolean isEmpty()
String-in boş olduğunu yoxlayır
boolean isBlank()
String-də yalnız boşluq simvollarının olduğunu yoxlayır: boşluq, tab, enter və s.
char charAt(int index)
String-də index mövqeyində duran simvolu qaytarır.
char[] toCharArray()
String-in ibarət olduğu simvolların (nüsxə) massivini qaytarır
byte[] getBytes()
String-i byte massivinə çevirir və qaytarır.
String[] split(String regex)
String-i bir neçə substrinqə bölür.
String join(CharSequence delimiter, elements)
Bir neçə substrinqi birləşdirir
String intern()
String-i StringPool-a yerləşdirir.

Konstruktorlar haqqında daha çox məlumat üçün bu məqaləyə baxın Konstruktora niyə ehtiyac var?

Unix Style-dan Windows Style-a keçid edən fayl yolunu dəyişən proqram yazaq. Unix “/” simvolundan istifadə edir, Windows isə “\” simvolundan.

Həll 1 — char[] massivindən istifadə

Kod Qeydlər
Scanner console = new Scanner(System.in);
String path = console.nextLine();

char[] chars = path.toCharArray();
for (int i = 0; i < chars.length; i++)
   if (chars[i] == '/')
      chars[i] = '\\';

String result = new String(chars);
System.out.println(result);
Scanner obyektinin yaradılması
Konsoldan string oxuma

String-in simvollar massivinə çevrilməsi
Simvollar üzrə dövr
Əgər simvol /-ə bərabərdirsə,
onu \ ilə əvəzləyin. Ekranlaşdırma haqqında unutmayın.

Simvol massivinə əsasən yeni string yaradılması.
String-in ekrana çıxarılması.

Həll 2split()join() metodlarından istifadə:

Kod Qeydlər
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String[] array = path.split("/");


String result = String.join("\\", array);


System.out.println(result);
Scanner obyektinin yaradılması
Konsoldan string oxuma

String-in stringlər massivi-nə çevrilməsi. Ayrıcı simvol olaraq / istifadə olunur (ikili ekranlaşdırmanın nəticəsidir).
Stringlər massivi-dakı bütün stringləri birləşdiririk, ayrıcı olaraq \ istifadə olunur (burada ekranlaşdırılmış vəziyyətdə görünür).

String-in ekrana çıxarılması.

Həll 3replace(char oldChar, char newChar) metodundan istifadə:

Kod Qeydlər
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String result = path.replace('/', '\\');

System.out.println(result);
Scanner obyektinin yaradılması
Konsoldan string oxuma

Sadəcə bir simvolu digərinə əvəz edirik
(ikinci simvol ekranlaşdırılmışdır)
String-in ekrana çıxarılması.
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION