Övning 1

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.

Innan du börjar

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

Rekommenderade uppgifter

Det finns två slags uppgifter i kompendiet:

Inledande uppgifter

För att lösa dessa uppgifter skall du inte skriva något program, utan bara komma på rätt svar.

Programmeringsuppgifter

Att hantera kataloger

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:

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:

Snabbkommandon i emacs

Den som använder emacs som texteditor kan använda ett antal snabb-kommandon som underlättar en del av arbetet under övningarna:

Uppgifter

Att kompilera och köra våra program

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.java
Vi 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).

Uppgifter

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