Det här är några övningar för att komma igång med Java.
Om man redan känner sig hemtam med Java behöver man inte göra dem,
men det kan vara bra att snabbt titta igenom dem.
Gör de här övningarna på labbtillfällena.
Ni behöver inte visa upp resultaten eller lämna in några labbrapporter,
men diskutera gärna eventuella problem eller andra frågor med läraren.
Uppgifter markerade med en asterisk (*) kan hoppas över om man får ont om tid.
Snabblänk:
API-spec
Läs först detta
(Eller bläddra i alla fall igenom det.)
Java på Windows
Java (både kompilatorn och run-time-omgivningen) finns installerad på
våra Windows-maskiner.
Man kan kompilerar med kommandot javac i ett kommandofönster, till exempel så här:
javac MittProgram.java
Då skapas en fil som heter MittProgram.class.
Därefter kör man programmet med kommandot java, till exempel så här:
java MittProgram
Den som har en egen dator kan också ladda hem Java och göra övningar hemma. Rekommenderas!
Eclipse
Eclipse är en integrerad programmeringsomgivning,
där man kan redigera, köra och debugga sina Java-program.
På Windows startar man Eclipse från startmenyn som vanligt,
och på Linux startar man Eclipse med kommandot eclipse:
eclipse &
Uppgift 1
main-metoden i ett Java-program tar emot en array av strängar som parameter.
Skriv en Java-applikation som tar emot kommandoradsargument och skriver ut dem på skärmen.
Resultatet ska se ut så här:
linux> java uppg1 stina kalle sven lena
Argument 1 = stina
Argument 2 = kalle
Argument 3 = sven
Argument 4 = lena
Uppgift 2
Vad händer om man drar en fil och släpper på programmets ikon i Utforskaren?
Uppgift 3
Ta hjälp av exemplet med
djur
i
Java-introduktionen.
Gör ett Java-program som innehåller klasserna
Fordon, Bil, Buss och Cykel.
Både bilar och cyklar är en sorts fordon.
Bussar räknas som en sorts bilar.
Alla fordon har ett antal hjul.
Bilar har dessutom ett antal passagerare.
Uppgift 4 (*)
Ta hjälp av exemplen med
djur
och
figurer
i
Java-introduktionen.
En sportaffär vill ha ett program för hantering av sina produkter.
Början till en klasshierarki till stöd för sådan hantering ser ut så här:
Det här ska finnas i respektive klass:
- Produkt:
- Skyddade (dvs private-deklarerade) instansvariabler:
inköpspris, omkostnader, utpris, namn
- Skyddade instansmetoder: skrivNamn, skrivVinst
- Abstrakt publik instansmetod: skrivData.
- Sko:
- Privat instansvariabel: antalSnörhål
- Publik instansmetod: skrivData (ska anropa skrivNamn och skrivVinst, och skriva ut antalSnörhål)
- Tröja:
- Privat instansvariabel: ärmlängd
- Publik instansmetod: skrivData (ska anropa skrivNamn, skrivVinst samt skriva ut ärmlängd)
Samtliga klasser ska få initialvärden till sina medlemsvariabler via konstruktorerna.
Implementera klasserna enligt ovan.
Skriv en applikation som instansierar två skor och två tröjor och lagrar dem i en array.
Loopa över arrayen och anropa skrivData för respektive objekt.
Försök att reda ut vad som händer och vad som är fördelar med polymorfism och vad som är nackdelar.
Uppgift 5
Ta hjälp av exemplet med
knappar
i
Java-introduktionen.
Gör ett Java-program i form av ett fönster med en knapp.
När man trycker på knappen ska programmet avslutas.
Tips: Slå upp metoden exit i klassen System i
API-specen.
Uppgift 6 (*)
Gör ett Java-program i form av ett fönster med tre knappar och ett textfält:
Den första knappen ska avsluta programmet,
Den andra knappen ska rensa textfältet.
Den tredje knappen ska lägga till ytterligare en knapp i fönstret.
Dessa nya knappar ska lägga till ett "Hej!" i textfönstret.
Thomas Padron-McCarthy
(thomas.padron-mccarthy@oru.se),
10 januari 2010