Föreläsningar
Referenserna är till Lewis & Loftus.
F1 (22/3)
Datorns viktigaste delar (Fig 1.1).
Kompilering, interpretering, källkod, maskinkod, etc. 1.4.
Hello-World program, listing 1.1.
F2 (23/3)
Kort om objekt-orienterad programmering 2.0, och hur man använder metoder i klasser 2.1.
Klassen String och den inbyggda datatypen char 2.2, 2.4.
Variabler 2.3.
F3 (25/3)
Mer om variabler och tilldelning 2.3.
De inbyggda datatyperna 2.4.
Aritmetiska operatorer och uttryck 2.5.
Klasser, referenser och objekt 2.6.
För att använda klassen Keyboard för in och utmatning måste man skriva
source /it/kurs/progES1/public_html/VT04/program/setclasspath
i terminalfönstret. Detta kan eventuellt behöva göras om om man byter fönster
eller loggar in igen, men det borde inte behövas.
F4 (26/3)
Konstruktorer (2.6):
- Har samma namn som klassen
- Kan ha en eller flera parametrar
- Kan finnas flera av, som skiljer sig genom parameterlistan
- Anropas mha new
- Returnerar ett objekt av klassen
Punktoperatorn används för anrop av vanliga metoder, och åtkomst av data.
Exempel på metoder från klassen String.
StringMutation exempel, listing 2.8.
F5 (29/3)
Klassbibliotek och paket, import, CLASSPATH (2.7).
Anrop av klassmetoder (=statiska metoder) (2.8).
Klasserna Math och Keyboard.
Kort om formattering; DecimalFormat (2.9, listing 2.13).
F6 (30/3)
Tips för inlupp 1(Math.rint, Math.round, Keyboard).
Styrande satser, villkorsuttryck, jämförelseoperatorer, logiska uttryck.
Villkorssatser, ex: if-satsen, och varianter
Repetitionssatser, ex: while-satsen
Block och variabelscope.
Uppräknings-, nedräknings- och tilldelningsoperatorerna. (++,--,+=,-=,*=,/=,%=)
F7 (1/4)
Villkorssats: switch
Repetitionssatser: do och for. I for används ofta en indexvariabel (kallas också loopvariabel eller
iterationsvariabel) som håller reda på vilket varv man håller på med.
Exempel TreFem.java (sid 201).
F8 (19/4)
Lämnade tillbaka inlupp1.
Klasser, objekt och metoder. (4.0-4.3) Instansvariabler (= attribut = ett objekts tillstånd).
Metodanrop och metoddeklarationer, med aktuella respektive formella parametrar.
Lokala variabler, har scope (dvs existerar) bara inom metoden. Överlagrade metoder
Coin.java
F9 (20/4)
Metodanrop (4.4) FlipTwo.java.
Synlighetsmodifierare (4.1).
Klassmetoder och klassvariabler, dvs statiska metoder och variabler (5.1)
Parameteröverföring (5.0)
AddNum.java
Int.java
AddNum2.java
F10 (22/4)
Referenserna null och this (5.0). Mer om parameteröverföring vid metodanrop, alias (5.0).
Diskussion om inkapsling, exempel på klass med konstanta publika instansvaribler Vector.java.
Hur man använder instansvariabler från ett annat objekt än det man just arbetar med, ex Complex.java.
F11 (23/4)
Arrayer av inbyggda datatyper (fält) (6.0). Sökning i arrayer, ex FindMax.java.
F12 (27/4)
Algoritmer, exemplifierat med sökning och sortering (6.2).
Sökning efter en post sker med hjälp av en nyckel, som är en del av posten.
Linjärsökning och binärsökning (kräver sorterad array) SearchTest.java.
Instickssortering (insertion sort) och bubbelsortering (bubble sort) SortTest.java.
F13 (3/5)
Arrayer av objekt (6.1).
CD.java, CDCollection.java, Tunes.java.
F14 (4/5)
Sortering av objektarrayer. Flerdimensionella arrayer (6.3).
F15 (11/5)
Exempel med flerdimensionell array MultipleDimArr.java.
Hjälpklasserna ExtendedReader och ExtendedWriter från Skansholms extra-paket.
Kopierat material från Skansholms bok.
F11E3.java.
F16 (11/5)
F17 (14/5)
Arv genom interface (6.4) (5.5) (7.5), exemplifierat mha klassen TreeSet.
CD.java,
CDCollection.java,
Tunes.java.
Suns dokumentation för interfacet Comparable och klassen TreeSet.
F18 (17/5)
Övningar i ps och pdf.
Lösningar ordrakning.java Pi.java Primes.java.
F19 (25/5)
F20 (1/6)
F21 (2/6)
F22 (2/6)
F23 (3/6)