Under denna övning kommer du att öva på sådant som vi behandlade under den första föreläsningen, det kan därför eventuellt hjälpa att i en annan tab eller ett fönster ha anteckningarna från föreläsning 1.
Avsikten med övningen är att du skall få lära dig använda Javas
mest grundläggande beståndsdelar (variabler, tilldelningssatser, in-
och utmatning och if
-satsen). Dessutom skall den ge dig
träning i att skriva in, kompilera och köra små program - att lära sig
använda ett kommandofönster i Linux är alltså en viktig del av
övningen. Texten nedan innehåller lite information om hur man använder
kommandofönstret, du kan hitta en lite utförligare beskrivning här.
Uppgifterna är helt hämtade från kapitel 2 i kompendiet (kapitel 1 skall bara ge bakgrunden till det vi gör). Lösningar till samtliga uppgifter markerade med (*) finns i slutet av kompendiet (alla rekommenderade uppgifter har lösning) - din övningsledare kan hjälpa dig om du kör fast.
För att kunna använda kurspaketet måste du en gång skriva följande kommando i ett kommandofönster (din övningsledare kan visa hur man öppnar ett kommandofönster - de finns under "Accessories->Terminal" uppe i menyn längst upp till vänster på skärmen, om du har svenska menyer heter det istället "Tillbehör->Terminal"):
. /usr/local/cs/pt/installeda011
(observera att det skall finnas ett mellanslag mellan punkten och / i kommandot ovan, enklast är nog om du kopierar texten och klistrar in den i ett kommandofönster).
Du kommer nu i framtiden alltid att ha kurspaketet tillgängligt när
du öppnar ett nytt kommandofönster (du får samtidigt automatiskt
tillgång till ett antal snabbkommandon i emacs
).
Det finns två slags uppgifter i kompendiet:
För att lösa dessa uppgifter skall du inte skriva något program, utan bara komma på rätt svar.
Nu är det dags för dig att skriva dina första egna program - för att göra det kommer du att behöva två verktyg:
emacs
, men du får
gärna använda vilken du vill).När du öppnar ett nytt kommandofönster placeras du automatiskt i din hemkatalog (den motsvarar 'My Documents' i Windows). Du kan sedan använda följande tre kommandon för att organisera dina filer och hoppa bland dina kataloger:
ls
listar filerna i den katalog som du
'står' i.mkdir
skapar en ny katalog med ett givet
namn (i den katalog som du står i).cd
'hoppar ner' till en katalog med ett
givet namn. För att hoppa 'upp' ett steg skriver man cd
..
emacs
Den som använder emacs
som texteditor kan använda ett
antal snabb-kommandon som underlättar en del av arbetet under
övningarna:
Alt-4
: frågar efter ett programnamn, och skapar
ett huvudprogram med det givna namnet.
Alt-2
: ger en import-sats -- du får själv fylla
i sista delen.
Alt-p
: ger System.out.print
Alt-k
: ger Keyboard.next
pt
i din hemkatalog,
hoppa sedan ner till den nya katalogen.ovn
i din
pt
-katalog, hoppa sedan ner till den nya
katalogen.ovn1
i din
ovn
-katalog, hoppa sedan ner till den nya
katalogen.javac
kompilerar en given källkodsfil (vars
namn måste sluta på .java
). För varje program i
källkodsfilen skapas en program-fil med ett namn som slutar på
.class
.java
kör ett program med ett givet
namn.Om vi i källkodsfilen Ovn1.java
har de två programmen
Sum
och Area
:
class Sum { public static void main(String[] args) { new Sum().run(); } void run() { ... } } class Area { public static void main(String[] args) { new Area().run(); } void run() { ... } }så kompilerar vi genom att skriva:
javac Ovn1.javaVi får då filerna
Sum.class
och Area.class
,
och för att köra exempelvis programmet Sum
skriver vi:
java Sum(lägg märke till att vi anger filnamnstillägget
.java
när
vi kompilerar, men att vi inte anger filnamnstillägget
.class
när vi kör).
Du kan lägga programmen i nedanstående uppgifter i separata
källkodsfiler (vars namn alltså måste sluta med .java
),
eller lägga dem alla i samma fil. Oavsett vilket måste du se till
att du skriver in källkoden i den katalog ovn1
som vi
skapade ovan, så att vi enkelt kan kompilera och köra våra program
från kommandofönstret (om vi förutsätter att du
med cd
-kommandot har hoppat dit).
pt-quiz
för övning 1, och
kontrollera att du inte missförstått något