Arrays and strings -1 (nizovi i znakovni nizovi)

Slides:



Advertisements
Similar presentations
STRING AN EXAMPLE OF REFERENCE DATA TYPE. 2 Primitive Data Types  The eight Java primitive data types are:  byte  short  int  long  float  double.
Advertisements

Arrays in JAVA CS 340 Software Design Muhammad Talha.
1 Lekcija 6 - Nizovi Pregled 6.1Uvod 6.2Nizovi 6.3Deklaracija niza 6.4Primjeri upotrebe nizova 6.5Nizovi kao argumenti funkcije 6.6Sortiranje niza 6.7Primjer:
PiKKS. Ukratko Općenito Osnovni elementi OOP u Javi Overloading, overriding, virtual method invocation, modifikatori... Exceptions Java GUI Threads.
Lecture 07. Do not have to create an array while declaring array variable [] variable_name; int [] prime; int prime[]; Both syntaxes are equivalent No.
Objektno orijentisano programiranje
Two-Dimensional Arrays
Programiranje kroz aplikacije
Petlje WHILE – WEND.
RP3/predavanje08 Ugniježdeni tipovi Iznimke 10/11/2018
Java Hello world !.
Algoritamske/programske strukture
Chapter 7 Arrays (Nizovi).
Nadgradnja klasa i nasljeđivanje – 3
Programi,Podaci,Varijable,Računanje- Uvod
Object Oriented Programming
Programiranje - Blokovi naredbi i logički tipovi –
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Java Klase – 2.
Java Petlje i logika - 1.
CheckBox RadioButton RadioGroup
The Present Perfect Continuous Tense
Uvod u programiranje - matematika – XI predavanje
Petlje FOR - NEXT.
Programi,Podaci,Varijable,Računanje - 2
Java Iznimke - exceptions.
Објектно орјентисано програмирање
KREIRANJE OBJEKATA.
Java Klase (Classes).
Arrays and strings -2 (nizovi i znakovni nizovi)
LABORATORIJSKA VEŽBA VEŽBA 4
Elektrotehnički fakultet – Podgorica Operativni sistemi
Binarne datoteke u Pascalu
14 UNUTRAŠNJE I ANONIMNE KLASE
Elementi programskog jezika PASCAL
Programi,Podaci,Varijable,Računanje - 1
Klasa grafik.
Struktura MAC adrese i Ethernet okvira
M-datoteke.
MessageBox.
KORELACIJSKA I REGRESIJSKA ANALIZA
Pojmovi digitalnog zapisa
Ključne reči,identifikatori, konstante i promenljive
Java Script Vežba IX.
PROGRAMSKI JEZIK PASCAL
Visual Basic – Prvi primjer
6. Apstraktne tipovi podatka
Osnovni simboli jezika Pascal
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Default konstruktor struct C{ int i; }; struct D{ D( ):i(1){ }
Programiranje – Small Basic
Kontrola toka programa
Programiranje - Uvod - Kolegij: Programski jezik C++
Nizovi.
Skup instrukcija procesora
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Naredbe u php-u.
Vježbanje.
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Mehanizmi agregacije *.
Programski jezik C++ - Vježbe - 1. dio
Ponavljanje Pisana provjera
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Vježbenica 2: struktura grananja – 2.dio
Programiranje - Osnovni tipovi podataka i operatori -
Programski jezik C++ - Vježbe - 2. dio
Presentation transcript:

Arrays and strings -1 (nizovi i znakovni nizovi) Java Arrays and strings -1 (nizovi i znakovni nizovi)

Nizovi-Arrays Što su Nizovi (Arrays)? Kolekcija referenci ili primitivnih vrijednosti Svaka referenca ili vrijednost mora biti istog tipa Cijela kolekcija ima jedan naziv Pojedine reference (vrijednosti) nazivamo elementima niza Elementima pristupamo preko pozicije Java Course 2001

Arrays Proces u tri koraka Deklaracija varijable niza Kreiranje “objekta” niza i njegovo pridodjeljivanje varijabli niza Pohrana vrijednosti ili objekata u niz U Javi, nizovi su “objekti” bez obzira što pohranjuju Java Course 2001

Nizovi: deklariranje varijable niza Za deklaraciju varijable niza potrebno je specificirati: Tip elementa koji spremamo u niz Može biti bilo koji tip reference(objekta) ili primitivne vrijednosti Naziv cijele kolekcije po pravilima za nazive varijabli Prazne uglate zagrade poslije naziva ili tipa double numbers[ ]; Button[ ] buttonBar; int[] primes; preferirano Java Course 2001

Nizovi: kreiranje niza Niz kreiramo poput bilo kojeg drugog objekta Specijalna sintaksa za new: primes = new int[ 10 ]; buttonBar = new Button[ 10 ]; Koriste se uglate umjesto okruglih zagrada (brackets[ ] , no parentheses() Ovo je konstruktor niza, nije konstruktor objekta myArray pohranjuje 10 integer brojeva buttonBar je niz od 10 referenci na Button objekte Java Course 2001

Nizovi: pohranjivanje vrijednosti Elementi su numerirani od 0 do length-1 Svaki niz ima public polje, length, u kojem je pohranjen broj elemenata u nizu Korištenje petlje za popunjavanje vrijednosti primes[ 3 ] = 10; for (int i = 0; i < myArray.length; i++) { myArray[ i ] = (i + 1) * 10; } Java Course 2001

Deklaracija i definicija u jednom izrazu [0] [1] [2] [7] [8] [9] 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 10 Elements int[] primes = new primes[10]; Koliko ovaj niz zauzima byte-ova u memoriji 44= (10*4(int)+4(referenca)) Java Course 2001

Inicijalizacija & nizovi referenci Elementi u tek kreiranom nizu su: Nula, ako su numerički (čak ako se radi o lokalnom nizu) Za razliku od lokalnih varijabli koje je potrebno inicijalizirati null, ako su elementi reference. Potrebno je objekte kreirati zasebno ! for (int i = 0; i < buttonBar.length; i++) { buttonBar[ i ] = new Button(“Button “+i); } Java Course 2001

Pristup elementu niza num=primes[ 3 ]; Vrijednost indeksa je pozitivna vrijednost tipa int ili izraz koji daje pozitivan rezultat tipa int (byte, short daju rezultat tipa int) Java provjerava vrijednost indeksa : Ako je indeks van dozvoljenih granica baca se exception tipa IndexOfBoundsException Java Course 2001

Ponovno korištenje (reusing) varijabli niza Varijabla niza i sam niz su odvojeni entiteti int[] primes = new int[10]; Alociraj niz od 10 elemenata . . . primes = new int[50]; // Alociraj niz od 50 elemenata Varijabla primes referira na novi niz tipa int koji je potpuno neovisan od prvog niza. Prethodni niz se odbacuje ! Java Course 2001

Inicijalizacija nizova // initialize & declare int[] primes= {2,3,5,7,11,13,17}; // niz od 7 elemenata long[] even= {2,4,6,8,10}; // niz od 5 elemenata int[] primes= new int[100]; primes[0]=2; primes[3]=7; Java Course 2001

Inicijalizacija nizova long[] even= {2,4,6,8,10}; long[] value = even; even 2 4 6 8 10 value dvije varijable, ali jedan niz ! Java Course 2001

Nizovi - primjer Ch4\01_MorePrimes\MorePrimes.java Java Course 2001

Niz nizova (arrays of arrays) Deklaracija korištenjem višestrukih uglatih zagrada double [] [] yMatrix= new double[3][5]; yMatrix has 3 rows, 5 columns Adresiranje pojedinog elementa pomoću dva subskripta yMatrix[1][4] = 31.4 Stavi vrijednost 31.4 u zadnji element drugog retka zapamti: nizovi su numerirani 0 do length-1 Java Course 2001

int[][] scores = new int[3][2]; Niz nizova int[][] scores = new int[3][2]; [0] [1] scores[0][0] = 50; scores[0][1] = 100; scores[1][0] = 0; scores[1][1] = 735; scores[2][0] = 12389; scores[2][1] = 7; [0] 50 100 [1] 735 [2] 12389 7 primjer: Ch4\02_WeatherFan\WeatherFan.java Java Course 2001

Niz nizova različite duljine float[][] samples; //deklariraj niz nizova samples = new float[3][]; //definiraj tri elementa od kojih je svaki niz samples[0]=new float[2]; samples[1]=new float[4]; samples[2]=new float[10]; samples.length is 3 samples[0].length is 2 samples[1].length is 4 samples[2].length is 10 samples[0] samples[1] samples[2] Java Course 2001

Multi-dimenzionalni nizovi long[][][] beans=new long[5][10][30]; long[][][] beans= new long [3][][]; beans[0]=new long[4][]; beans[1]=new long[2][]; beans[2]=new long[5][]; for(int i=0; i<beans.length;i++) for(int j=0; j<beans[i].length;j++) beans[i][j]=new long[(int)(1.0+6.0*Math.random())]; int[][][] array= { { {2,1},{4,4},{1,2,3} }, { {7 },{4,5},{7,4} }, { {2,1},{1,4},{7,7,7} } }; Java Course 2001

Niz znakova char[] message = char[50]; char[] vowels ={’a’, ’e’, ’i’, ’o’, ’u’}; char[] name= {’B’, ’r’, ’a’, ’n’, ’d’, ’ ’, ’N’, ’e’, ’w’, ’’, ’D’, ’a’, ’y’}; Java Course 2001

Prosljeđivanje nizova u metode Nizovi se mogu prosljeđivati kao argumenti metoda public int addEmUp(int[ ] ar) { int sum = 0; for(int i = 0; i < ar.length; i++) sum += ar[ i ]; return sum; } Java Course 2001

Prosljeđivanje nizova iz metode Nizove možemo i vratiti iz metode public int[ ] makeArray(int howMany) { int[ ] ar = new int[ howMany ]; for(int i = 0; i < ar.length; i++) ar[ i ] =1; return ar; } Java Course 2001