![Concatenarea în Java](https://projava.ro/wp-content/uploads/2023/06/2426464-300x169.webp)
Ce înseamnă concatenarea într-un limbaj de programare? Exact ca în limba română, înseamnă a uni ceva lângă altceva…
Concatenarea se referă în mod special la unirea șirurilor de caractere. Îți voi prezenta 2 tipuri de concatenare în limbajul Java, unul simplu, la îndemâna oricui, și altul cu ajutorul unei funcții.
Concatenarea cu +
Cea mai simplă formă de concatenare a șirurilor este prin folosirea simbolului plus (+). Pur și simplu folosești semnul + într-o declarație (linie de cod) pentru unirea valorilor (sau variabilelor).
Exemple:
1| String a = "abc"; 2| String b = "xyz"; 3| String c = a + b; 4| System.out.println(c); // afișează „abcxyz” 5| 6| String d = "alfa " + "beta"; 7| System.out.println(d); // afișează „alfa beta” 8| 9| System.out.println("Acesta " + "este " + "un " + "șir!”); // afișează „Acesta este un șir!” 10| 11| System.out.println("Câte variabile am declarat? Am declarat exact " + 5 + " variabile!"); // afișează „Câte variabile am declarat? Am declarat exact 5 variabile!”
Ce am făcut în exemplul anterior? Practic, am adunat (alipit) variabilele între ele… Ca și cum pui un nou vagon la un tren. Unde îl pui? În spate… Așa se face și când folosești funcția concat(…).
Concatenarea cu funcția concat(…)
E foarte ușor și intuitiv să ții minte faptul că funcția concat(…) vine de la concatenare (concatenation). Trebuie doar să ai 2 șiruri de caractere și să te hotărăști cum să faci unirea (care să fie unit la care…).
Exemple:
1| String m = "despre "; 2| String n = "tot" 3| String t = m.concat(n); 4| System.out.println(t); // afișează „despre tot” 5| 6| String a = "100"; 7| String b = "200 "; 8| String c = "300 "; 9| System.out.println(c.concat(b.concat(a))); // afișează „300 200 100”
Nu te panica de ce am scris pe rândul 9. Este foarte corect și destul de interesant dacă poți înțelege cum funcționează concatenarea. Hai să-ți explic un pic… Pe linia 9 afișez variabila c, căruia îi atribui funcția de concatenare a concatenării variabilei a la variabila b. Adică, pentru început se formează șirul „200 100” (din b.concat(a)), apoi se lipește de variabila c și devine „300 200 100”.
P.S. Poți să faci abstracție de faptul că numele variabilelor este format dintr-un singur caracter? Când vei lucra „pe pielea ta”, ai să vezi cât de nociv e să ai variabile dintr-un singur caracter (cum ar fi a, b, c etc.). Aici am scris așa scurt doar pentru exemplu… Îți recomand să citești articolul Convenții de scriere a variabilelor în Java.
Mai există și alte metode de concatenare, dar deja ajungem la niște clase destul de complexe… Pentru început, e bine să rămânem cu noțiunea asta de concatenare în Java. Hai să-ți dau și ceva bonus, dacă tot nu-ți ofer toate tipurile de concatenare…
*Poți folosi operatorul de atribuire prescurtat, adică să nu mai scrii „a = a + b”, ci „a += b”, dacă vrei să unești pe a cu b.
Exemplu:
1| String a = "100 "; 2| String b = "200"; 3| a += b; 4| System.out.println(a); // afișează „100 200” 5| System.out.println(b); // afișează „200” - nu se schimbă valoarea variabilei b
*Poți folosi numere în declarația de cod (sau chiar la inițializarea variabilei) fără a le pune între ghilimele (dacă ai șiruri de caractere între ghilimele…). Rezultatul va fi un șir.
Exemplu:
1| String a = 100 + "200" + 300; 2| System.out.println(a); // afișează „100200300” 3| 4| String b = 100 + 200 + "300" + 400; 5| System.out.println(b); // afișează „300300400” - a făcut adunarea, apoi s-a alipit șirului... 6| 7| String c = "" + 100 + 200 + 300; 8| System.out.println(c); // afișează „100200300” - întâi e acel șir gol "", care anunță că de acum înainte tot ce urmează se transformă în șir, deci nu se vor mai face calculele
Ce zici? Așa-i că este interesantă partea asta de concatenare?
Învață să fii profesionist!
Sursă imagine: wallpaperaccess.com