Jonny Karlsson 18.12.2007 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 6 (18.12.2007) INNEHÅLL: -Mera om tabeller.

Slides:



Advertisements
Liknande presentationer
INTRODUKTION TILL PROGRAMMERING
Advertisements

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
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Klassarv och inkapsling
Polymorfism.
Välkommen Vahid Mosavat
Programmeringsteknik 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 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.
i olika programmeringsspråk
INTRODUKTION TILL PROGRAMMERING
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.
Variabler: Datatyp - grundläggande : int, double, char, boolean eller
Pekare och speciell programstruktur i inbyggda system
Repetition inför slutprovet
Klasser och objekt Klasser, objekt och instansvariabler
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
Programmering B PHP Lektion 2
int res2=Math.max(tal1,tal2);
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.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Polymorfism.
Programmeringsteknik för Media1 & K1
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.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska opertorer -Poster.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
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.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
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.
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
INTRODUKTION TILL PROGRAMMERING
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
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
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
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.
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 4 Metoder & parametrar Array API och klassen ArrayList.
Python.
Presentationens avskrift:

Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller

2Jonny Karlsson Mera om tabeller Är en variant av referenstyp (arraytyp). Används för att lagra en mängd olika variabler av samma datatyp i datorns minne. Brukar även kallas för vektorer eller ”arrays” En tabell kan behövas när man vill göra ett program som skall beräkna t.ex. medeltalet av ett visst antal värden.

3Jonny Karlsson Mera om tabeller Deklaration av en tabell int [ ] a; eller int a [ ]; När man deklarerat en tabell enligt ovan kommer variabel a inte att innehålla en tabell utan egentligen en referens till en tabell. Referensvärdet är helt enkelt en adress som berättar var tabellen finns lagrad i datorns minne.

4Jonny Karlsson Mera om tabeller

5Jonny Karlsson Mera om tabeller Att ”skapa” en tabell Efter deklarationen innehållar variabeln a alltså en referens till den plats i minnet där en heltalstabell finns lagrad. Heltalstabellen har i detta skede ännu en ospecificerad längd. Nästa steg är att skapa själva tabellen, dvs att ge den en längd: a = new int[2]; Efter detta innehåller variabeln a fortfarande en referens till tabellen men tabellen (a) har fått en specifik längd, i detta fall 2.

6Jonny Karlsson Mera om tabeller

7Jonny Karlsson Mera om tabeller Detta är alltså skillnaden mellan primitiva datatyper (int, float, double...) och referenstyper (t.ex. Tabeller). Jämför följande två variabler: int a = 5; int b[ ] = new int[10]; - variabeln a innehåller värdet 5 - variabeln b innehåller en referens till den plats i minnet där heltalstabellen (b) finns lagrad.

8Jonny Karlsson Mera om tabeller Kompilera och kör följande kod och analysera vad som händer: public class test { static void modifieraTabell(int tabb[ ]) { tabb[0] = 44; } static void modifieraVariabel(int tal) { tal = 44; } public static void main(String args[ ]) { int tabb[ ] = new int[3], tal = 0; System.out.println(”Tal = ” + tal + ”\nTabellplats 0 = ” + tabb[0]); modifieraTabell(tabb); modifieraVariabel(tal); System.out.println(”Tal = ” + tal + ”\nTabellplats 0 = ” + tabb[0]); }

9Jonny Karlsson Mera om tabeller När du kör koden på föregående slide märker du kanske att variabeln tal inte byter värde efter anrop av modifieraVariabel medan första värdet i tabellen tabb byter värde efter anrop av modifieraTabell. VARFÖR? JO! I metoden modifieraVariabel är variabeln tal en kopia av variabeln tal i huvudmetoden. I modifieraVariabel tilldelar man variablen tal värdet 44. Men detta ändrar förstås inte på värdet av variabeln tal i huvudmetoden. I metoden modifieraTabell innehåller variablen tabb en referens till en minnesplats där det finns en heltalstabell. När man i metoden modifieraTabell säger: tabb[0] = 44; Betyder det att i den tabell som variabeln tabb refererar till skall man ställa in första värdet till 44. Variabeln tabb i huvudmetoden refererar till samma minnesplats som variabeln tabb i metoden modifieraTabell eftersom man gav referensvärdet som argument när man anropade modifieraTabell. Därför ändras värdet av tabb[0] också i Huvudmetoden. Att förstå detta är mycket värdefullt!!!