CodeGym /Kurslar /JAVA 25 SELF /Sətirlər və mətn: String tipi, sətirlərlə iş

Sətirlər və mətn: String tipi, sətirlərlə iş

JAVA 25 SELF
Səviyyə , Dərs
Mövcuddur

1. String tipini daha ətraflı öyrənək

String tipi Java-da ən çox istifadə olunan tiplərdən biridir. Bəlkə də ən çox istifadə olunanıdır. Bu, əla tipdir, çünki belə dəyişənlərdə mətn saxlamaq olar. Həm də intdouble tiplərindən fərqli olaraq, String obyektlərinin bir çox müxtəlif funksiyaları var və bu funksiyaların köməyi ilə maraqlı şeylər etmək mümkündür.

Bundan əlavə, Java-dakı bütün obyektlər (tamamilə hamısı) String tipinə çevrilə bilər. Daha dəqiq desək, Java-dakı bütün obyektlər öz mətn (sətir) təqdimatını qaytarır. Bu tipə (çox faydalı və maraqlı olduğu üçün) hələ dəfələrlə qayıdacağıq, amma bu gün onun əsasları ilə tanış olacağıq.

String tipli dəyişənlərin yaradılması

String tipi sətirləri (mətni) saxlamaq üçün yaradılıb. Mətni saxlaya bilən dəyişən yaratmaq üçün belə bir əmrdən istifadə etmək lazımdır:

String imya;
String tipli dəyişənin yaradılması

Burada imya — dəyişənin adıdır.

Nümunələr:

Komanda Təsvir
String name;
Sətir dəyişəni name yaradılır
String message;
Sətir dəyişəni message yaradılır
String text;
Sətir dəyişəni text yaradılır

intdouble tiplərində olduğu kimi, String tipli bir neçə dəyişəni qısa şəkildə yaratmaq olar:

String imya1, imya2, imya3;
String tipli dəyişənlərin yaradılması

2. String tipli dəyişənlərə dəyər mənimsətmə

String tipli dəyişənə dəyər yazmaq üçün bu əmrdən istifadə olunur:

imya = "znachenie";
String tipli dəyişənə dəyər mənimsətmə

Və budur, artıq öyrəndiklərimizdən ilk fərq. String tipinin bütün dəyərləri mətn sətirləridir və mütləq cüt dırnaqlar arasında yazılmalıdır.

Nümunələr:

Komanda Qeyd
String name = "Anya";
name dəyişəni Anya mətnini saxlayır
String city = "New York";
city dəyişəni New York mətnini saxlayır
String message = "Hello!";
message dəyişəni Hello! mətnini saxlayır

3. String tipli dəyişənlərin inisializasiyası

intdouble tiplərində olduğu kimi, String tipli dəyişənlər də yaradılarkən dərhal inisializasiya oluna bilər. Ümumiyyətlə, bunu Java-da bütün tiplərlə etmək mümkündür. Odur ki, bunun haqqında daha danışmayacağıq.

String imya1 = "znachenie1", imya2 = "znachenie2", imya3 = "znachenie3";
Dəyişənləri yaratma və inisializasiya etmənin qısa forması
String name = "Anya", city = "New York", message = "Hello!";
Dəyişənlərin yaradılması və inisializasiyası əmrinə nümunə

Yalnız dəyər verilmiş dəyişənləri dəyişmək olar

Java kompilyatoru, dəyər vermədən dəyişəni elan edib onu istifadə etməyə çalışsanız, irad bildirəcək.

Bu cür kod işləməyəcək:

String name;
System.out.println(name); // name dəyişəni inisializasiya olunmayıb. Proqram kompilyasiya olunmayacaq.
int a;
a++; // a dəyişəni inisializasiya olunmayıb. Proqram kompilyasiya olunmayacaq.
double x;
double y = x; // x dəyişəni inisializasiya olunmayıb. Proqram kompilyasiya olunmayacaq.

4. Konkatenasiya — sətirlərin birləşdirilməsi

Java-da sətirlərlə edə biləcəyiniz çox maraqlı və sadə bir şey var — onları birləşdirmək olar. Bu əməliyyata konkatenasiya deyilir. Yadda saxlamaq üçün kon-ka-te-na-si-ya 😆 deyə bölmək olar. Çox vaxt buna “sətirlərin birləşdirilməsi” və ya sadəcə “sətirlərin toplanması” da deyilir.

İki sətiri birləşdirmək üçün + işarəsindən istifadə olunur. Bu, çox sadədir:

"sətir1" + "sətir2"
İki sətirin konkatenasiyası

Nümunələr:

Komanda Qeyd
String name = "Anya" + "Anya";
name sətiri AnyaAnya dəyərini saxlayır
String city = "New York" + "Anya";
city sətiri New YorkAnya dəyərini saxlayır
String message = "Hello! " + "Anya";
message sətiri Hello! Anya dəyərini saxlayır

Və əlbəttə, eyni anda çoxlu sətiri, eləcə də sətirləri və dəyişənləri toplamaq olar.

String name = "Anya";                // name dəyişəni Anya sətirini saxlayır
String city = "New York";           // city dəyişəni New York sətirini saxlayır
String message = "Hello!" + city + name + city; // message dəyişəni Hello!New YorkAnyaNew York sətirini saxlayır

5. Boş sətirlər

Son nümunədə görünür ki, message dəyişənindəki mətn oxunaqlı deyil, çünki orada boşluqlar çatmır. Bir və ya bir neçə boşluq təyin etmək üçün onları sadəcə kodda yazıb cüt dırnaqlar arasına salmaq kifayətdir. Göründüyündən daha sadədir:

" "
Bir boşluqdan ibarət sətir

Bu arada, dırnaqlar arasında ümumiyyətlə boş yer qoymasanız (iki cüt dırnağı ard-arda yazsanız), belə adlandırılan “boş sətir” alınacaq:

""
Boş sətir

Bir tərəfdən o sanki var, digər tərəfdən isə ekrana çıxaranda heç nə çıxmır. Və başqa sətirlərlə birləşdirəndə də heç nə baş vermir. Sətirlər üçün sanki “sıfır” analoqudur.

6. Sətirlərdə xüsusi simvolların qaçırılması (escape)

Artıq bilirsiniz ki, sətirlər cüt dırnaqlarla əhatə olunur. Bəs sətirin içinə dırnaq əlavə etmək lazım olsa nə edək? Əgər sətirin içində dırnaq yazsaq, kompilyator onları sətirin sonu kimi qəbul etməyəcəkmi?

Düzdür. Qəbul edəcək. Buna görə də dırnaqlar mətin daxilində \" cütlüyü ilə əvəz olunur. Və kod belə görünəcək:

String quote = "O dedi: \"Salam!\"";
System.out.println(quote); // O dedi: "Salam!"

Əslində hər şey bir az hiyləgərdir. \ simvolu sətirlər daxilində xüsusi (idarəedici) simvol sayılır. Onun köməyi ilə yeni sətir, tabulyasiya və s. kimi “çap olunmayan simvolları” göstərmək olar. \ simvolunun özünü yazmaq üçünsə onu 2 dəfə yazmaq lazımdır.

Ən çox istifadə olunan 4 birləşmə:

Yazılış Mənası
\n Yeni sətir (newline)
\t Tabulyasiya (indent)
\\ Hərfi olaraq \
\" Sətir daxilində dırnaq işarəsi

Nümunə:

String multiline = "Sətir 1\nSətir 2";
System.out.println(multiline);

Nəticə:

Sətir 1
Sətir 2

7. String-in daxili funksiyaları

String tipinin öz funksiyaları (onlara metodlar da deyilir) var. Onların sayı çoxdur və proqramçıların işini asanlaşdırır. Bu gün onlardan bəziləri (ən sadələri) ilə tanış olacaqsınız. Nümunə:

Funksiya Təsvir Nümunə nəticə
str.length()
Sətirin uzunluğu
"abc".length() → 3
str.toUpperCase()
Böyük hərflərə çevirmək
"abc".toUpperCase() → "ABC"
str.toLowerCase()
Kiçik hərflərə çevirmək
"ABC".toLowerCase() → "abc"
str.trim()
Kənarlardakı boşluqları silmək
"  x y  ".trim() → "x y"

Sətir funksiyaları ilə işləmə nümunələri

Bu funksiyaların hamısı belə çağırılır: dəyişən.funksiya(...).

Sətirin uzunluğunu müəyyən etmək:

String name = "Andrey";
int length = name.length();
System.out.println(length); // 6, çünki 6 hərf var

Sətiri böyük və ya kiçik hərflərə çevirmək:

String original = "Salam";
System.out.println(original.toUpperCase()); // SALAM
System.out.println(original.toLowerCase()); // salam

Kənarlardakı boşluqları silmək (klaviaturadan daxil etmə zamanı çox faydalıdır):

String messy = "   hello   ";
System.out.println(messy.trim()); // "hello"

Belə hər bir funksiya yeni sətir qaytarır, köhnə sətir isə dəyişmir.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION