Presentation laddar. Vänta.

Presentation laddar. Vänta.

1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.

Liknande presentationer


En presentation över ämnet: "1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList."— Presentationens avskrift:

1 1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList

2 2 Repetition Primitiva datatyper och referensdatayper Styrstrukturer –if –While –for –do-while Metoddeklaration och metodanrop

3 3 Primitiva datatyperReferens datatyper byte short int long double float char boolean String Scanner System Integer Double Boolean … Datatyper

4 4 byte -128…127 short -2^15… 2^15-1 int -2^31… 2^31-1 long -2^63… 2^63-1

5 5 float -2^31…2^31-1 double -2^63…2^63-1

6 6 if-sats Problem: Skriv ett program som frågar efter pris på boken och skriver ut ”dyr bok, ingen affär” om priset är mer än 500:-

7 7 Modell för if Kolla om bokPris>500 Skriv ut ”dyr bok, ingen affär” Kod efter if-satsen... falskt sant

8 8 if-else else använder man tillsammans med en if-sats när man vill göra ett val mellan två olika saker. Exempel: Skriv ett program som frågar efter pris på en bok och skriver ut ”dyr, ingen affär om priset är mer än 500 kr annars skriver programmet ut ”billig köp fort”

9 9 Modell för if-else Kolla om bokPris>500 Skriv ut(”dyr…”); Kod efter if-else... falskt sant Skriv ut(”billig…”);

10 10 Sats och block Ett program består av en eller flera satser. En sats i java avslutas med ; och i vissa fall inom ett block { } Block { } används bl.a. för att flera satser ska hålla ihop. När en sak är gemensam för flera satser som kommer efter varandra.

11 11 Exempel Skriv ett program som skriver ut texten ”jag går till skolan med mitt paraply” om det regnar och man har paraply. Dessutom skriver ut ”jag går till skolan utan paraply” om det inte regnar.

12 12 Jämförelse operatorer I villkor kan följande operatorer användas: Strängar ska inte jämföras med operatorerna ovan (eftersom strängar inte är primitiva datatyper).

13 13 Villkor kan kombineras med följande tre operatorer: if (ålder = 21) System.out.println(”OK!”); Logiska operatorer

14 14 Slinga (loop) Slingor eller loop används då man vill en sak ska upprepas ett antal gånger. I java finns det for-slingor, while-slingor och do-while slingor för detta ändamål.

15 15 Exempel Skriv ett program som skriver ut ”det där med java känns lite svårt men inte omöjligt” 100 gånger.

16 16 for-sats består av följande delar 1.for 2.(A;B;C) A är oftast deklaration och initiering av en variabel B är ett villkor-sats (Condition) C oftast är en stegning-sats 3. uttryck (statement) For-sats for ( int i=0 ; i< 10; i++) { System.out.println(”Java är enkelt”); }

17 17 For-sats for ( int i=0 ; i< 10; i++ ) { System.out.println(”Java är enkelt”); }

18 18 while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while sats int i=0; while (i<10) { System.out.println(”programmering är kul”); i++; }

19 19 Modell för for- och while-sats falskt sant Villkor Ett eller flera uttryck (satser)... kod före for eller while Kod efter for eller while...

20 20 Modell för loop falskt Kod efter for eller while... i<10 System.out.println(”hej”); i++; int i=0; sant i = 0i = 1i = 2i = 3i = 4i = 5i = 6i = 7i = 8i = 9i = 10

21 21 Exempel 5.14. Skriv ett program som läser in ett heltal från tangentbordet hela tiden och kontrollerar om talet är positiv eller negativ. 5.17. Skriv ett program som skriver ut alla udda nummer mellan 1-99 inklusive 1 och 99.

22 22 Exempel Skriv ett program som frågar efter användarens ålder. om användaren matar ett in tal mindre än 20 då ska texten nedan skrivas ut: ”tyvärr, men du är välkommen när du blir 20” Detta upprepas tills användaren matar in ett tal större eller lika med 20. Då ska skrivas ut på skärmen ”Välkommen till systembolaget”. och därefter programmet avslutas.

23 23 while-sats består av följande delar: 1. do 2. uttryck 3. while 4.Villkor-sats (condition) do-while sats int i=0; do { System.out.println(”programmering är kul”); i--; } while (i>10);

24 24 Modell för do-while sats falskt sant kod efter do-while... Villkor uttryck... kod för do-while

25 25 Nästlade slingor Man kan använda slingor i slingor, d.v.s man skulle kunna skriver en slinga som upprepar en annan slinga. Exempel: Skriv ett program som skriver ut multiplikations tabellen för tal 1-5. 12345 246810 3691215 48121620 510152025

26 26 Metoder Vissa beräkningar behöver man göra lite oftare i ett program. Istället för att skriva satserna som utför beräkningen flera gånger kan man definiera en metod som gör beräkningen en gång och sedan anropa metoden flera gånger. Genom att deklarera metoder så minskar man kod upprepningar och gör det att man får mindre kod och därmed får man ett kortare program.

27 27 Hur fungerar metoder? Är som ett recept eller en funktion Satserna i metoden utförs bara då metoden anropas Inparametrar – indata, information som behövs i metoden Returvärde – utdata, metodens resultat

28 28 Hur deklarerar man en metod? Returvärdets typ/klass –Primitiv datatyp t ex int, double –Referens datatyp t ex String, Color –void om metoden inte returnerar något Metodens namn Formella parametrars typ och namn –Skrivs inom parentes Satser (det metoden ska göra varje gång den anropas) Retursats (krävs bara för metod som returnerar något) –Det värde som returneras måste vara av samma typ som angavs i början av metoddefinitionen

29 29 static String metodnamn(String parameternamn) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String De får vi välja hur som helst Deklaration av metoder

30 30 main Program indata utdata

31 31 main Program m1() m2() m3() indata

32 32 main Program m1() m2() m3()

33 33 main Program m1() m2() m3()

34 34 main Program m1() m2() m3()

35 35 main Program m1() m2() m3()

36 36 main Program m1() m2() m3()

37 37 main Program m1() m2() m3()

38 38 main Program m1() m2() m3()

39 39 main Program m1() m2() m3() utdata

40 40 Referens datatyper Alla klasser som finns i API:n är referens datatyper Alla datatyper som inte är primitiva datatyper är referens datatyper. Man kan skapa objekt av referens datatyper men inte av primitiva datatyper En referns datatyp har både attribut och metoder men en primitiv datatyp är endast en minne för att lagra data.

41 41 API:n API står för Application Programming Interface. Är egentligen en samling av datatyper som underlättar programmeringen. Det finns en bra dokumentation på nätet där kan man få fram information om hur man använder en viss klass och dess metoder.

42 42 Indexerade variabler Det förekommer ofta att programmeraren inte har någon aning om antal data som användaren kommer att använda som indata till programmet. Programmet ska inte behöva modifieras om användaren eller antal indata ändras. Därför finns det indexerade variabler som vi oftast kallar de vektorer.

43 43 Indexerade variabler Indexerade variabler använder sig av ett index. Det kan vara arrayer. Det kan vara klassen ArrayList eller Vector.

44 44 Array (Hakvektor) Beteckningen [ ] betyder att vi har med en array att göra. I en variabel av typen String kan man bara lagra ett namn åt gången men i en variabeln av typen String[] (man läser String-array eller array av String) kan man lagra flera namn samtidigt. Hur?

45 45 Exempel String kursbeteckning = ”prgi05”; String[] kursBeteckningar =new String[3]; kursBeteckningar[0]=”prgi05”; kursBeteckningar[1]=”Matematik I”; kursBeteckningar[2]=”Mtematik II”;

46 46 Storlek på en array Varje array har ett attribut som är av typen int och visar antal element i arrayen String[] kursBeteckningar = new String[3]; int storlek = kursBeteckningar.length; OBS! blanda inte attributen length med metoden length() Som finns i klassen String

47 47 Metoden main och args public static void main (String[] args){ … }


Ladda ner ppt "1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList."

Liknande presentationer


Google-annonser