OCA Java imtahan mövzuları

Creating and Manipulating Strings

String dəyişəninə iki formada dəyər mənimsədə bilərik:

String name = "Cavid";               // String poolda saxlanılır
String name = new String("Cavid");   // Yeni obyekt yaradılır

 

Concatenation

Yadda saxlanılmalı qaydalar:

  1. Əgər hər iki dəyişən (operand) numeric olarsa, + toplama əməliyyatını nəzərdə tutur;
  2. Əgər dəyişənlərdən biri String olarsa, + concatenation əməliyyatını nəzərdə tutur;
  3. İfadə soldan sağa doğru hesablanır.
System.out.println(1 + 2);               // 3
System.out.println("a" + "b");           // ab
System.out.println("a" + "b" + 3);       // ab3
System.out.println(1 + 2 + "c");         // 3c
System.out.println(1 + 2 + "c"+ 1 + 2);  // 3c12

int three = 3;
String four = "4";
System.out.println(1 + 2 + three + four);  // 64

String s = "1";
s += "2";
s += 3;
System.out.println(s);   //123

StringBuilder sb = new StringBuilder("Hello ");
String s = "java!";
String welcome = sb + s;
System.out.println(welcome);   // Hello java!

Əgər + operatorunun sağ və ya sol tərəfindəki dəyərlərdən biri String tipindədirsə, run time vaxtı digər dəyər də String`ə çevrilir. Aşağıdakı nümunəyə baxaq:

public static void main(String[] args) {
    System.out.print(null + true);         // line1
    System.out.print(true + null);         // line2
    System.out.print(null + null);         // line3

    System.out.print(getString() + true);  // line4
}

static String getString() {
    return null;
}

line1, line2, line3 – compile olunmur, çünki aydındır ki, true String tip deyil, null isə burada konflikt yaradır, konkret String tipə aid etmək olmaz. Amma line 4 compile olunur, çünki null String tipə mənimsədilib və run edildikdə ekrana nulltrue çap edilir.

 

Immutability

String immutable dəyişəndir, yəni String obyekti bir dəfə yaradıldısa, sonradan dəyişdirilməyinə icazə verilmir, genişlənəkiçilə bilməz. Həmçinin Java’da immutable class’lar final’dır.

String s1 = "1";
String s2 = s1.concat("2");
s2.concat("3");
System.out.println(s2);      // 12

 

The String Pool

Ümumiyyətlə, String dəyişənləri ən çox istifadə edilən dəyişənlərdən biridir və ümumi proqramda yaddaşın təxminən 25-40 faizini mənimsəyir. String pool (intern pool) – bütün stringləri toplamaq üçün JVM`də ayrılmış yerdir. String pool özündə ancaq literal dəyərləri tutur (contain).

 

[topics lang=az]

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.