1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Klasser och objekt.
Funktioner och programorganisation
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Klassarv och inkapsling
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Att programmera i språket Java
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
i olika programmeringsspråk
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Föreläsning 11 Arrayer.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
PROCESSPROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Pekare och speciell programstruktur i inbyggda system
Programmering B PHP Lektion 2
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Vektorer (klassen Vector) Sortering
TÄNK PÅ ETT HELTAL MELLAN 1-50
Programmeringsteknik för Media1 & K1
Listor En lista är en föränderlig ordnad samling objekt.
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
INTRODUKTION TILL PROGRAMMERING
Class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
1 Föreläsning 9 Object cast Klassen Vector Skillnad mellan Arrayer och Vector.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Program indata ? utdata 1/20 Vahid Mosavat, Nada, KTH.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
DA7351 Programmering 1 Fält och objekt Tvådimensionella fält Sortera fält Föreläsning 13.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Presentationens avskrift:

1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList

2 Minnesbild för primitiva datatyper char bokstav = ’K’; int heltal = 42; bokstav ’K’ char heltal 42 int

3 Minnesbild för referensdatatyper String skola = ”KTH”; skola String String-objekt Ett annat sätt att skapa strängar String skola = new String(”KTH”); ”KTH”

4 Metoder Vissa beräkningar måste göras 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 detta gör det att man får mindre kod och därmed ett kortare program.

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

6 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

7 Deklaration av metoder 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

8 Parametrar När en anropsparameter skickas med vid ett metodanrop kopieras dess värde till den formella parametern. Kan ett metodanrop ändra på anropsparameterns värde? –Om den är av primitiv datatyp: VÄRDET KAN INTE ÄNDRAS –Om den är en referens till ett objekt: VÄRDEN INUTI OBJEKTET KAN ÄNDRAS –Om den är en referens till en sträng: STRÄNGEN KAN INTE ÄNDRAS (Sträng är undantag bland alla referens datatyper)

9 Typ konvertering (cast) Används när man explicit vill ändra typen av ett uttryck. Exempel: double x = 2.75; int i = (int) x; i får här värdet 2 Fungerar bara för rimliga konverteringar och i princip inte mellan primitiva och referensdatatyper.

10 Exempel Skriv ett program som frågar efter radien för en cirkel och beräknar omkretsen och arean för cirkeln med hjälp av två metoder. -utöka programmet sedan så att det frågar om man vill ange en ny radie varje gång, så att man kan beräkna flera gånger utan att programmet avslutas.

11 Fel Kompilerings fel Exekverings fel Logiskt fel

12 Logiskt fel brudgummen brud

13 Logiskt fel brudgummen brud

14 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.

15 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 finns information om klasser och deras metoder.

16 Object Alla klasser i API:n och de klasser som vi definierar själva (som vi går igenom i senare föreläsningar) är en subbklass till klassen Object. Exempel: en Bil är en fordon, en cykel är en fordon, en flygplan är en fordon. En instans av klassen String är en instans av klassen Object, En instans av klassen Integer är en instans av klassen Object men verken instans av Integer är String eller instans av String är Integer.

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

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

19 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?

20 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: int t= talArray[0]; talArray[4]= 121; talArray talArray[5]= 18;

21 Index: String[] namnArray=new String[6]; namnArray[0] =”Vahid”; namnArray null ”vahid”

22 String[] namnArray=new String[6]; namnArray[0] =”Vahid”; namnArray[1]= ”johan”; Index: namnArray ”vahid” null ”Johan”

23 String[] namnArray=new String[6]; namnArray[0] =”Vahid”; namnArray[1]= ”johan”; Index: namnArray ”vahid” null ”Johan”

24 String[] namnArray=new String[6]; namnArray[0] =”Vahid”; namnArray[1]= ”johan”; Index: namnArray ”vahid” null ”Johan” namnArray[4]= namnArray[1]; null

25 String[] namnArray=new String[6]; namnArray[0] =”Vahid”; namnArray[1]= ”johan”; Index: namnArray ”vahid” null ”Johan” namnArray[4]= namnArray[1];

26 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 och metoden length() som finns i klassen String

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

28 Klassen ArrayList Klassen ArrayList finns i paketet java.util, därför detta paket ska importeras om man vill använda sig av klassen ArrayList. Klassen ArrayList har bl.a tre viktiga metoder som används mest av allt. ArrayList minLista= new ArrayList(); minLista.size(); //returnerar talet 0 minLista.add(”element 1 i listan”); minLista.size(); //returnerar talet 1 minLista.add(”element 2 i listan”); String e = (String)minLista.get(0);

29 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

30 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