1 / 13

Kapittel 7

Kapittel 7. Array (lister og tabellar). 7.1 Arrayelement. Array (lister, tabellar) er kjent frå VB Blir brukt til å organisere data når vi har mange dataelement av same sort I Java startar indekseringa alltid på 0 Indeks står i klammeparentes: [indeks]

cleo-french
Download Presentation

Kapittel 7

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kapittel 7 Array (lister og tabellar)

  2. 7.1 Arrayelement • Array (lister, tabellar) er kjent frå VB • Blir brukt til å organisere data når vi har mange dataelement av same sort • I Java startar indekseringa alltid på 0 • Indeks står i klammeparentes: [indeks] • Indeksen er alltid eit ikkje-negativt heiltal, vi kan bruke matematiske uttrykk som indeks så lenge resultatet blir eit heiltal

  3. 7.2 Deklarering og bruk • Array er objekt, blir laga med new() • int[] height = new int[17]; • Her får vi eit array med plass til 17 heiltal • Indeksane vil vere frå 0 til 16 • Alle verdiar er i utgangspunktet 0 • Alle Java array er iteratorar, så vi kan bruke foreach – versjonen av for-loop • [] operatoren sjekkar indeksgrenser • Vi bør likevel sjekke dette sjølve for å unngå feil • Størrelsen til eit array er konstant

  4. Deklarering og bruk • Alternativ syntaks bør ikkje brukast • int[] grades viser tydeleg at vi skal ha eit array av integers • int grades[] viser mindre tydeleg kva vi skal ha • Bruk av initialiseringsliste • Vi kan initialisere med {verdi1, verdi2, ..., verdiN} når arrayet blir deklarert, ikkje for å endre verdiar seinare • Array som parameter • Merk at eit array er eit objekt, så ein kopi av referansen (adressa) blir sendt som parameter • Metoden som får ein slik parameter kan endre element i arrayet

  5. 7.3 Array av objekt • Vi kan bruke array til å samle objekt på same måte som primitive typer • Vi får i så fall eit array av objektreferanser • Tunes-eksemplet • CDCollection som eigen klasse • Inneheld eit array CD[] • Har metoder for å administrere samlinga • I Java har vi også “ferdigsydde” collection-klasser • CD-klassen representerer ein enkelt CD

  6. 7.4 Kommandolinjeargument • Vi kan no avsløre kva ‘String[] args’ betyr! • Array av String-referanser som er sendt til main() metoden ved oppstart • Blir vanlegvis kalla args, men namnet er valfritt • Ved kjøring via kommandolinja vil dei to første argumenta (java klassenamn) ikkje bli med • I NetBeans må vi spesifisere eventuelle kommandolinjeargument spesielt • Ofte brukt når vi kjører eit program mange ganger med ulike argument • Bruk args.length for å sjekke talet på argument

  7. 7.5 Parameterlister med variabel lengde • Vi kan bruke ... mellom type og namn for å tillate eit vilkårleg tal parameter til ein metode • public double average(int ... list) • Desse parametra blir automatisk kopiert inn i eit array • Maks eit slikt sett av parameter pr metode • Alltid til slutt i parameterlista

  8. 7.6 Todimensjonale array • Eit todimensjonalt array tilsvarer rader og kolonner i ein tabell • To indeksar • int[][] tabell = new int[antRader][antKol]; • tabell[rad][kolonne] = verdi; • Kvar rad er å betrakte som eit separat array • Vi kan ha fleire dimensjonar etter behov

  9. 7.7 ArrayList klassen • Dette er eit eksempel på ein collection-klasse • Finst i java.util – pakken • Fungerer som eit array med tilleggstenester • Størrelsen blir automatisk regulert • Legge til eller fjerne element automatisk, sjå liste over metoder i figur 7.6 • Vi kan spesifisere elementtype • ArrayList<String> band; • Typesjekking inkludert, vi kan ikkje legge til anna enn String-objekt • Vi treng ikkje caste objekt vi hentar ut • Effektivitet ved ulike operasjonar

  10. 7.8 Mangekanter • Vi kan bruke array til å tegne komplekse former • Metoder i Graphics-klassen • drawPolygon() • Array eller objekt av Polygon-klassen som parameter • drawPolyline()

  11. 7.9 Mouse events • Ulike events (hendingar) med mus • Vi deler opp i Mouse Events • Pressed • Released • Clicked • Entered • Exited • og Mouse Motion Events • Moved • Dragged

  12. Mouse events • To ulike interface vi kan implementere for å reagere på bruk av mus • MouseListener • MouseMotionListener • Vi går gjennom Dots og RubberLines • Dots – vi må tegne alt på nytt om vi vil ta vare på “gammal” informasjon • RubberLines – tegne som respons på at musa flyttar seg

  13. 7.10 Tastetrykk • Vi kan også reagere på tastetrykk • Implementere KeyListener • Felles for listener-interfaces er at vi må implementere tomme metoder for det vi ikkje bryr oss om å reagere på

More Related