String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

Similar documents
VRIJEDNOSTI ATRIBUTA

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

Objektno orijentisano programiranje

PREDMET. Osnove Java Programiranja. Čas JAVADOC

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

PROGRAMIRANJE. Amir Hajdar

Nizovi. Programiranje 1

RAČUNARSKI PRAKTIKUM II

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Izrada VI laboratorijske vježbe

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

Uvod u relacione baze podataka

RAČUNARSKI PRAKTIKUM II

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

SVEUČILIŠTE U MOSTARU FAKULTET PRIRODOSLOVNO-MATEMATIČKIH I ODGOJNIH ZNANOSTI BAZE PODATAKA 2. Doc.dr.sc. GORAN KRALJEVIĆ BAZE PODATAKA 2 1

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

JavaScript i HTML DOM

16. Sigurnije programiranje

Programiranje III razred

... ; ako je a n parno. ; ako je a n neparno

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Vežbe - XII nedelja PHP Doc

8. NIZOVI. // deklaracija niza od 10 elemenata: data[0], data[1],..data[9] int data[10] ; S elementima niza se operira kao s prostim varijablama

Python. Mario Essert, Domagoj Ševerdija, Ivan Vazler. Odjel za matematiku Sveučilišta Josipa Jurja Strossmayera Osijek, Digitalni udžbenik

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

11. Iznimke i tokovi (exceptions and streams)

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

for i:=2 to n do if glasovi[i]>max then begin max:=glasovi[i]; k:=i {*promenljiva k ce cuvati indeks takmicara sa najvise glasova *} end;

/*#include <iostream> // Prvi zadatak sa integralnomg ispita

SVEUČILIŠTE U Z GRE U Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Vukelićeva 4, Zagreb, HRV TSK.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

NIZOVI.

Visual Basic 6.0. Osnove VB. Uvod u računarstvo 1

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7

Push(3,&S) 3 1 S Uvijek trebamo paziti da ne zovemo Pop nad praznim stogom.

Programski jezik JAVA PREDAVANJE

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Nasleđivanje i izvedene klase u jeziku C++

NAPREDNO I OBJEKTNO ORIJENTIRANO PROGRAMIRANJE

Prva recenica. Druga recenica.

Numeričke metode i praktikum

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

PROGRAMIRANJE U JAVI

6. SWITCH IZRAZ I PETLJE

String related classes

24/03/2018. Deklaracija promenljivih. Inicijalizacija promenljivih. Deklaracija i inicijalizacija promenljivih

Lab 14 & 15: String Handling

VDSL modem Zyxel VMG1312-B10A/B30A

Informacioni sistemi i baze podataka

Java. Ugnježdeni tipovi IMI PMF KG OOP 09 AKM. najveći deo teksta je preuzet sa slajdova Prof. Dragana Milićeva (ETF Bg) namenjenih pedmetu OOP2

BAZE PODATAKA. SQL Opis podataka. Neđeljko Lekić Irena Orović

Strukture Klase i OOP

public static void main(string []args) { System.out.println("Hello World"); /* prints Hello World */

9. RAD S DATOTEKAMA PODATAKA

VB komande. Programiranje 1

PITANJA ZA II KOLOKVIJUM KLASE I OBJEKTI

Rad sa MySQL bazom podataka

JAVA PROGRAMIRANJE 1

Računarske osnove Interneta (SI3ROI, IR4ROI)

2. Linijska algoritamska struktura

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

C++ minitutorial. Osnovni elementi i koncepti programskog jezika C++ uz primere

Zadatci Small Basic za 7. Razred ( programa)

Aspektno programiranje u Javi. AOP + AspectJ

Sintaksa VHDL jezika - podsjetnik -

Uvod u Javu. Programski jezik Java Izvršavanje Java programa BlueJ razvojno okruženje Elementi Jave Tipovi podataka Prvi programi

Vidljivost TipPovratneVrednosti ImeFunkcije (NizParametara) { TeloFunkcije }

modifier returnvaluetype methodname(list of parameters) { // Method body; }

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom

PARALELNO PROGRAMIRANJE

progecad NLM Korisničke upute

Objektno orjentirano programiranje

String. Other languages that implement strings as character arrays

Naredbe za kontrolu toka

Predavanje 13. using namespace int for int return

Jezik Baze Podataka SQL. Jennifer Widom

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Java IMI PMF KG OOP 09 AKM. Izuzeci

Objektno orijentisano programiranje. Aleksandra Klašnja-Milićević Marko Marković

Visoka tehnička škola Niš

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

PHP? PHP (recursive acronym "PHP: Hypertext Preprocessor") Open Source general-purpose scripting language Web development

Ciljevi. Poslije kompletiranja ove lekcije trebalo bi se biti u mogućnosti: Opisati ograničenja Generisati i održavati ograničenja u bazi

Objektno orijentirano programiranje. Auditorne vježbe

Programiranje III razred

Cjenovnik usluga informacionog društva

Operacijski sustavi. Laboratorijska vježba 2. Petra Lončar, mag. ing. el., asistent FESB, 2016.

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

TEHNIKA I INFORMATIKA U OBRAZOVANJU

Sadržaj predavanja 02. Cjelobrojni tip podataka(1/3) Cjelobrojni tip podataka(2/3) Cjelobrojni tip podataka(3/3) prec(short) prec(int) prec(long) int

[] znači opciono; znači ili. Strana 3 od 5

I PISMENI ZADATAK III6 I GRUPA IME I PREZIME

Transcription:

String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String gf = Geodetski ; 1 String ili znakovni niz 2 pomoću string literala (konstanti) String gf; //deklariranje na objekt gf = Geodetski fakultet ; //dodjeljivanje // vrijednosti ili String literal String gf = Geodetski fakultet ; Varijabla tipa String je referenca na objekt tipa String String su nepromjenjivi, tj. sadržaj im se ne može mijenjati, ali se referenca takvog objekta može izmijeniti da ukazuje na neki drugi objekt tipa String!!! String ; referenca objekt = abc ; = efg ; efg abc System.out.println(); efg 3 4 String konstruktori mogu kreirati novi string iz niza znakova String = new String (char nizznakova[]) ; char [] gf = { G, e, o, d, e, t, s, k, i ; String = new String (gf) ; = Geodetski drugih stringova String = new String ( Geodetski fakultet ) ;... Novi prazni string: String s4 = new String () ; 5 char [] gf = { G, e, o, d, e, t, s, k, i ; String = new String (gf, 2, 3) ; = ode Ineks člana niza od kojeg počinje podniz Broj znakova preuzetih iz niza Kreiranjem string objekta od niza uvijek se preuzima samo kopija niza. Ako se po nastanku objekta izmijene članovi izvornog niza, string objekt neće se izmijeniti. 6

String = new String geodezija ; String = new String geodezija ; = geodezija = geodezija String = new String geodezija ; String = ; = geodezija = geodezija geodezija geodezija geodezija 7 8 class SpajanjeStringova{ String = "auto", = "cesta"; Stringovi se mogu povezati pomoću: operatora + String = auto ; String = cesta ; String s3 = + metode concat string1.concat(string2) = auto = cesta s3 = autocesta System.out.println("Test spajanja concat metodom:"); System.out.println(" = " + ); System.out.println(" = " + ); System.out.println(".concat() = " +.concat()); System.out.println("\nPrije spajanja:"); System.out.println(" = " + ); System.out.println(" = " + ); =.concat(); // kreiranje novog objekta i ukazivanje // na taj novi objekt System.out.println("\nNakon spajanja:"); System.out.println(" = " + ); System.out.println(" = " + ); 9 10 Test spajanja: = auto = cesta.concat() = autocesta Prije spajanja: = auto = cesta Nakon spajanja: = autocesta = cesta Prije spajanja Nakon spajanja auto cesta auto cesta Kada je jedan od dva operanda operatora + tipa String, kompajler će drugi operand konvertirati u odgovarajući string class SpajanjeStringova2{ int broj = 2; String = "auto", = "cesta D"; String s3 = + + broj; System.out.println("s3 = " + s3); s3 = autocesta D2 autocesta 11 12

Oprez! Kada u izraz za spajanje stringova umećete druge operacije možete dobiti neočekivane rezultate String s = "cetiri = " + 2 + 2; System.out.println(s); String s = "cetiri = " + (2 + 2); System.out.println(s); cetiri = 22 cetiri = 4 Niz stringova Isti mehanizam koji je korišten za nizove primitivnih tipova podataka String [] ime = new String [3]; ime[0] = a ; ime[1] = b ; ime[2] = c ; ili String [] ime = { a, b, c ; Primjer: class NizStringova{ String [] kvadrant = {"I.", "II.", "III.", "IV."; int brcl = kvadrant.length; // broj clanova niza stringova for(int i=0; i<brcl; i++) // i = indeks clana niza System.out.println("kvadrant ["+i+"]: " +kvadrant[i]); kvadrant [0]: I. kvadrant [1]: II. kvadrant [2]: III. kvadrant [3]: IV. 13 14 Duljina stringa Pomoću metode length() String gf = "Geodetski fakultet"; int len = gf.length(); len = 18 Usporedba stringova Usporedba sadržaja dvaju objekata pomoću metode equals: string1.equals(string2) ako je sadržaj stringova identičan, metoda vraća vrijednost true ako je sadržaj stringova različit, metoda vraća vrijednost false Usporedba, odn. provjera da li dvije varijable referenciraju na isti string, tj. objekt string1 == string2 ako varijable referenciraju na isti objekt vrijednost izraza je true ako varijable referenciraju na različite objekte vrijednost izraza je false 15 16 Usporedba stringova metoda equals class PrimjerEquals{ String = "program"; String = new String("program"); String s3 = ; System.out.println(+" equals "++" > "+.equals()); System.out.println(+" equals "+s3+" > "+.equals(s3)); String s4 = "Program"; System.out.println(+" equals "+s4+" > "+.equals(s4)); program equals program > true program equals program > true program equals Program > false Usporedba stringova operator == class IstiObjekti{ String = "program"; String = new String("program"); String s3 = ; System.out.println( +" = = " + +" > "+( = = )); System.out.println(+" = = "+s3+" > "+( = = s3)); String s4 = "Program"; System.out.println(+" = = "+s4+" > "+( = = s4)); program = = program > false program = = program > true program = = Program > false 17 18

Usporedba stringova Usporedba stringova equals > true equals s3 > true equals s4 > false = = > false = = s3 > true = = s4 > false s3 s4 program program Program Usporedba sadržaja dvaju objekata pomoću metode compareto: string1.compareto(string2) uspoređuje stringove znak po znak prema leksikografskom redoslijedu vraća razliku u leksikografskim položajima (Unicode character set) String = new String("Boris"); String = new String("Ana"); String s3 = new String("Anita"); int r1 =.compareto(); int r2 =.compareto(s3); r1 = 1 r2 = -8 19 20 Substring Konvertiranje podataka metodom valueof podniz nekog stringa dva načina izdvajanje substringa pomoću metode substring: i string.substring(počindeks); string.substring(počindeks, krajindeks); String = "Sjeverna Amerika"; String =.substring(9); String s3 =.substring(9,14); String s4 =.substring(9,10); = Amerika s3 = Ameri s4 = A 21 konvertiranje drugih tipova podataka u string class PrimjerValueOf{ int i = 123456; float f = 1.2345f; double d = Math.PI; System.out.println("int = " + String.valueOf(i)); System.out.println("float = " + String.valueOf(f)); System.out.println("double = " + String.valueOf(d)); int = 123456 float = 1.2345 double = 3.141592653589793 22 StringBuffer objekt String su nepromjenljivi znakovni nizovi fiksne duljine StringBuffer su znakovni nizovi promjenljive duljine koji se mogu mijenjati StringBuffer (Na bilo kojem mjestu unutar objekta klase StringBuffer moguće je umetnuti znak ili substring. Objekt StringBuffer automatski će se proširiti.) StringBuffer se koristi kada se intenzivno modificiraju stringovi dodavanje, brisanje i zamjena substringova u stringu 23 24

Kreiranje StringBuffer objekta Kreiranje StringBuffer objekta U klasi StringBuffer definirana su tri konstruktora: 1. StringBuffer() (pretpostavljeni konstruktor unaprijed rezervira mjesto za fiksnih 16 znakova) 2. StringBuffer(int veličina) (konstruktor koji prihvaća cjelobrojni argument kojim se izričito zadaje veličina buffera) 3. StringBuffer(String niz) (konstruktor koji prihvaća argument tipa String kojim se zadaje početni sadržaj objekta klase StringBuffer i dodatno rezervira mjesto za fiksnih 16 znakova) Primjeri StringBuffer konstruktora: StringBuffer a1, a2, a3; a1 = new StringBuffer(); // kapacitet 16 znakova a2 = new StringBuffer(50); // kapacitet 50 znakova a3 = new StringBuffer( Hello ); // kapacitet 21 znak // 21 = 5 + 16 25 26 Duljina i kapacitet StringBuffer objekta Duljina i kapacitet StringBuffer objekta Svaki StringBuffer karakteriziraju dva parametra: 1. duljina (length) 2. kapacitet (capacity) Duljina StringBuffera je broj trenutačno spremljenih znakova u StringBufferu; određuje se pomoću: string.length() Kapacitet StringBuffera je broj znakova koji se može spremiti bez dodjeljivanja dodatne memorije; određuje se pomoću: string.capacity() StringBuffer gf = new StringBuffer( Geodetski fakultet ); gf.length() je 18 (Unicode characters) G e o d e t s k i f a k u l t e t memorijski spremnik gf.capacity() je 34 (duljina stringa + 16) 27 28 Promjena duljine i kapaciteta StringBuffer objekta class PromjenaDuljiCap{ StringBuffer gf = new StringBuffer("Geodetski fakultet"); System.out.println("Pocetne vrijednosti:"); System.out.println("gf = " + gf); System.out.println("duljina = " + gf.length()); System.out.println("kapacitet = " + gf.capacity()); gf.ensurecapacity(80); // metoda za dodjelu kapaciteta System.out.println("\nNakon promjene kapaciteta:"); System.out.println("gf = " + gf); System.out.println("duljina = " + gf.length()); System.out.println("kapacitet = " + gf.capacity()); Promjena duljine i kapaciteta StringBuffer objekta nastavak s prethodnog slajda: gf.setlength(13); // metoda za promjenu duljine System.out.println("\nNakon promjene duljine:"); System.out.println("gf = " + gf); System.out.println("duljina = " + gf.length()); System.out.println("kapacitet = " + gf.capacity()); 29 30

Promjena duljine i kapaciteta StringBuffer objekta Pocetne vrijednosti: gf = Geodetski fakultet duljina = 18 kapacitet = 34 Dodavanje StringBuffer StringBuffer stud = new StringBuffer( Studij geodezije ); stud.append( i geoinformatike ); stud = Studij geodezije i geoinformatike Nakon promjene kapaciteta: gf = Geodetski fakultet duljina = 18 kapacitet = 80 Nakon promjene duljine: gf = Geodetski fak duljina = 13 kapacitet = 80 31 StringBuffer a = new StringBuffer(); a.append("to"). append(" be"). append(" or").append(" not").append(" to"). append(" be"); a = "To be or not to be" 32 Dodavanje StringBuffer StringBuffer b = new StringBuffer( Broj studenata je ); int broj = 186; b.append(broj); b = Broj studenata je 186 Umetanje StringBuffer StringBuffer u1 = new StringBuffer( Ja Javu ); u1.insert(3, volim ); u1 = Ja volim Javu StringBuffer c = new StringBuffer("Vrijednost je"); boolean d = false; c.append(d); c = "Vrijednost je false" StringBuffer u2 = new StringBuffer("Trokut ima stranice"); u2.insert(11, 3); u2 = "Trokut ima 3 stranice" 33 34