You are on page 1of 14

Klasa String

Principi programiranja
Klasa String
 Deklaracija String promenljive:
String nazivPromenljive;

 String je klasa pa je svaka promenljiva ovog tipa objekat pa se mora


inicijalizovati.

 (1)Inicijalizacija korišćenjem konstruktora:

String nazivPromenljive = new String(“Neki niz


znakova”);

 (2)Kraća inicijalizacija (samo za String – ne važi za druge klase):


String nazivPromenljive = ”Neki niz znakova”;
Klasa String
 (3) Moguća je i sledeća inicijalizacija
char[] niz;
….
String s= new String(niz);//konstruktor

 Koristi se kada je niz karaktera potrebno pretvoriti u String objekat iste sadržine.
prom1

String prom1; NUL Promenljiva prom1 ima null


L vrednost jer nije
prom1 inicijalizovana.
prom1=“Recenica 1”; 30 30

“Recenica 1”

String je inicijalizovan i može da se koristi.


Klasa String
 Šta se dešava kada se String promenljivoj koja ima već neku
vrednost dodeli nova vrednost?
 Inicijalizuje se novi String objekat i on prima novu vrenost, a stari
objekat se oslobađa!!!
prom1

prom1=“Recenica 1”; 30 30

“Recenica 1”

30

“Recenica 1”
prom1

prom1=“Recenica 2”; 450 450

“Recenica 2”
Klasa String
 Nadovezivanje String vrednosti:
nazivPromenljive = “neki niz znakova” + “drugi niz
znakova”;
 Sve vrednosti koje nisu String se pretvaraju u odgovarajuci
niz znakova i nadovezuju na postojeću String vrednost, ako
je makar jedna vrednost u celom izrazu String.
String s1=“Dobar”;
String s2=“dan”;
String s3=s1+s1; //Dobar dan
int temeratura=15;
String s4=“Napolju je”+temperatura+”stepeni”);
String s5=12+15;//Greska!!!
String s6=12+”15”;//upisuje se 1215
Klasa String – METODE : equals
 Za poređenje String vrednosti ne može se koristiti operator poređenja
== (u pitanju je klasa).

 Za poređenje se koristi equals metoda (s1.equals (s2)) koja poredi


dva Stringa slovo po slovo i vraća true ako su jednaki i false ako nisu.
Pri tome obraća se pažnja na velika i mala slova!

 Slična metoda je equalsIgnoreCase koja poredi dva Stringa ali ne


uzima u obzir velika i mala slova. – s1.equalsIgnoreCase(s2)

 Operator == se može koristiti samo za utvrđivanje da li String


promenljiva ima null vrednost //vrednost pokazivača.
prom1== null;
Primer: Poređenje dve String vrednosti

• U prvoj IF komandi će da se ispiše da promenljive nisu jednake (nepravilno), u


drugoj IF komadi će da se ispiše da su jednake.
Klasa String – METODE : compareTo
 Metoda compareTo – s1.compareTo(s2) poredi dve String
vrednosti leksikografski (abecedno) i vraća pozitivan broj ako je
prva vrednost posle druge vrednosti, negativan broj ako je prva
vrednost posle druge vrednosti, a nulu ako su jednaki.
 npr:

s1= “ Nebo je plavo. Sunce sija”


s2=“ Danas je lep dan”
 Šta ispisuje metoda?:

void provera( String s1){


if(s2.compareTo(s1)>0) System.out.printnl (“Tekst je posle novog teksta”);
if(s2.compareTo(s1)<0) System.out.printnl (“Tekst je pre novog teksta”);
if(s2.compareTo(s1)==0) System.out.printnl (“Tekstovi su jednaki”);}
Klasa String – METODE: charAt, length
 Svaki znak String vrednosti ima svoj indeks, a indeksi kreću od 0 – sličnost sa klasičnim
nizovima,

 Znakovima se ne pristupa korišćenjem [ ], već pomoću metode charAt – s.charAt(i)


Dužina String vrednosti se dobija pozivanjem metode length – s.length() //
obratiti paznju na zagradu jer je u pitanju metoda

Metoda koja prima String s i vraća koliko puta se u njemu pojavljuje slovo ‘a’:
class PrebrojavanjeZnakova{
static int prebroj(String s){
int brojac=0;
for(int i=0; i<s.length();i++)
if( s.charAt(i)=='a')
brojac++;
return brojac;
}
}
Zadatak 1(str.119)
•Korišćene metode klase String:
• equals(neki String), equalsIgnoreCase(neki String), compareTo(neki String)
Zadatak 4 (str. 126)
• Zasto program izbacuje rec Danas, kada se jedanput pojavljuju i je, dan i bas?

You might also like