21
Föreläsning 5 • Arrayer & ArrayList • Hur man använder API:n • Grafik (Frame, Button, Graphics)

Föreläsning 5

  • Upload
    aquene

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Föreläsning 5. Arrayer & ArrayList Hur man använder API:n Grafik (Frame, Button, Graphics). 0. 0. 0. 0. 0. 0. Array. Array är en indexerad lista av element som har samma typ. Man kan både ha arrayer av primitiva typer (int, double, char ,...) - PowerPoint PPT Presentation

Citation preview

Page 1: Föreläsning 5

Föreläsning 5

• Arrayer & ArrayList

• Hur man använder API:n

• Grafik (Frame, Button, Graphics)

Page 2: Föreläsning 5

Array

Array är en indexerad lista av element som har samma typ.

Man kan både ha arrayer av primitiva typer (int, double, char ,...) och arrayer av referens datatyper (String, … ).

int[] talArray=new int[6];

Index: 0 1 2 3 4 5int t= talArray[0];

talArray[4]= 121;

talArray

talArray[5]= 18;

0 0 0 0 0 018121

Page 3: Föreläsning 5

Index: 0 1 2 3 4 5

String[] namnArray=new String[6];

namnArray[0] =”Vahid”;

namnArray

null nullnullnullnullnull

”vahid”

Page 4: Föreläsning 5

String[] namnArray=new String[6];

namnArray[0] =”Vahid”;

namnArray[1]= ”johan”;

Index: 0 1 2 3 4 5namnArray

”vahid”

nullnullnullnullnull

”Johan”

Page 5: Föreläsning 5

String[] namnArray=new String[6];

namnArray[0] =”Vahid”;

namnArray[1]= ”johan”;

Index: 0 1 2 3 4 5namnArray

”vahid”

nullnullnullnull

”Johan”

Page 6: Föreläsning 5

String[] namnArray=new String[6];

namnArray[0] =”Vahid”;

namnArray[1]= ”johan”;

Index: 0 1 2 3 4 5namnArray

”vahid”

nullnullnull

”Johan”

namnArray[4]= namnArray[1];

null

Page 7: Föreläsning 5

String[] namnArray=new String[6];

namnArray[0] =”Vahid”;

namnArray[1]= ”johan”;

Index: 0 1 2 3 4 5namnArray

”vahid”

nullnullnull

”Johan”

namnArray[4]= namnArray[1];

Page 8: Föreläsning 5

Array har ett fält som heter length och den visar arrayens storlek.

t.ex:int[] enArray=new int[30];enArray.length; //har värdet 30

Page 9: Föreläsning 5

ArrayListArrayList är en klass som finns i paketet util, och därför måste man importera detta paket när man vill använda ArrayList.ArrayList har en del metoder som underlättar arbete med instanser av denna klass.Exampel:

ArrayList minLista= new ArrayList();minLista.size(); //returnerar 0minLista.addElement(”element 1 i listan”);minLista.size(); //returnerar 1minLista.add(”element 2 i listan”);

Page 10: Föreläsning 5

Skillnad mellan Arrayer och ArrayList• När man skapar en Array måste man ange storleken på

arreyen från början. Storleken kan sedan inte ändras, men när man vill skapa en instans av en ArrayList så behöver man inte ange bestämma storleken från början och storleken ändras automatisk när man lägger till eller tar bort.

• ArrayList kan inte innehålla primitiva typer d.v.s:minVek.add(12); är omöjligtminVek.add(’c’); är omöjligtFör att:boolean add(Object o); (kolla i API:n)Som syns metoden add tar endast emot en instans avklassen Object som parameter.(observera alla klasser i java är en underklass till klassen Object)

Page 11: Föreläsning 5

ArrayList minLista= new ArrayList();minLista.add(”Första element”);minLista.add(”Andra element”);

String element=(String)minVek.get(1);

minLista.remove(0);

minLista

Instans av klassen ArrayList

”Första element”

”Andra element”

element

Page 12: Föreläsning 5

ArrayList minLista= new ArrayList();minLista.add(”Första element”);minLista.add(”Andra element”);

String element=(String)minVek.get(1);

minLista.remove(0);

minLista

Instans av klassen ArrayList

”Första element”

”Andra element”

element

Page 13: Föreläsning 5

ArrayList minLista= new ArrayList();minLista.add(”Första element”);minLista.add(”Andra element”);

String element=(String)minVek.get(1);

minLista.remove(0);

minLista

Instans av klassen ArrayList

”Andra element”

element

Page 14: Föreläsning 5

MatriserMatriser kan man skapa av två hakvektorer (array).Exempel:int[][] heltalMatris= new int [3][6];

heltalMatris

Första index

0

1

2

0 1 2 3 4 5

andra index

heltalMatris[0][2]=124;

124

Page 15: Föreläsning 5

Kombination med slingor

• Eftersom att varje element i array och ArrayList har ett index så kan man kombinera slingor med arrayer.

Exempel:

Skriv ett program som frågar användaren efter 10 ord och skriver ut de ord som har udda antal tecken först och jämna antal tecken sist.

Page 16: Föreläsning 5

Hur man använder API:n• API:n består av en hel del paket som innehåller

massa definierade referens datatyper som vi ibland kallar de klasser.

• Varje klass en del metoder.• Metoder som har ordet static används på ett annat

sätt än metoder som inte innehåller static.• Beskrivning om parameter typ och retur-typ talar

om hur metoden ska anropas.• I den här kursen kommer vi använda paketen util, lang, io, awt, swing, applet mest av alla andra.

Page 17: Föreläsning 5

Hur man använder API:n

• För att anropa metoder som inte har ordet static så måste man skapa ett objekt av klassen.

• För att anropa metoder som har ordet static i deklarationen så ska man använda namnet på klassen.

• Antalet anrops parametrar och deras typ måste komma överens med antalet formella parameter.

Page 18: Föreläsning 5

Grafik i java

• Paketet awt (Abstract Window Tools) innehåller klasser och metoder som underlättar att skapa fönsterbaserat program.

• Frame är en klass som man kan skapa ett fönster med.

• Button är en klass som man kan skapa en knapp som man kan klicka på.

Page 19: Föreläsning 5

Exempel av Frame

//skapar ett fönster med en titel

Frame f= new Frame(”ett cool fönster”);

// sätter storlek på fönstret 100 pixlar

// i bredden och 200 pixlar ihöjden

f.setSize(100,200);

//visar fönstret på skärmen

f. show();

Page 20: Föreläsning 5

Frame är en Container

• I awt finns en graphic komponenter, en del av de är Container d.v.s. Att de kan innehålla andra komponenter. Frame är en container.

• Man kan därför lägga till andra komponenter som Button (knapp) i Frame.

Page 21: Föreläsning 5

Exempel av Button

Frame f= new Frame(”ett cool fönster med knapp”);

f.setSize(100,200);

//skapa en knapp

Button b = new Button(”en värdelös knapp”);

// lägg till knappen i fönstret annars kommer

// inte att synas

f.add(b);

f. show();