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ə int və double 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;
Burada imya — dəyişənin adıdır.
Nümunələr:
| Komanda | Təsvir |
|---|---|
|
Sətir dəyişəni name yaradılır |
|
Sətir dəyişəni message yaradılır |
|
Sətir dəyişəni text yaradılır |
int və double tiplərində olduğu kimi, String tipli bir neçə dəyişəni qısa şəkildə yaratmaq olar:
String imya1, imya2, imya3;
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";
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 |
|---|---|
|
name dəyişəni Anya mətnini saxlayır |
|
city dəyişəni New York mətnini saxlayır |
|
message dəyişəni Hello! mətnini saxlayır |
3. String tipli dəyişənlərin inisializasiyası
int və double 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";
String name = "Anya", city = "New York", message = "Hello!";
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"
Nümunələr:
| Komanda | Qeyd |
|---|---|
|
name sətiri AnyaAnya dəyərini saxlayır |
|
city sətiri New YorkAnya dəyərini saxlayır |
|
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:
" "
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:
""
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ə |
|---|---|---|
|
Sətirin uzunluğu | |
|
Böyük hərflərə çevirmək | |
|
Kiçik hərflərə çevirmək | |
|
Kənarlardakı boşluqları silmək | |
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.
GO TO FULL VERSION