Målgrupp

Studenter, yrkesverksamma och hobbyister som vill lära sig grunderna i Java programmering. Inga förkunskaper i programmering krävs.

Kurslängd

10 veckor, 2 timmar/vecka

Kursmaterial

  • Textbok: ”Introduction to Java Programming” av Y. Daniel Liang
  • Online-resurser
  • Kodexempel och övningsuppgifter

Lärare

  • Jakob Andersson
  • jakob@jakobia.se

Kursmål

  • Förstå grunderna i programmering och objektorienterad design
  • Kunna skriva, kompilera och köra Java-program
  • Kunna använda grundläggande datastrukturer som arrayer och strängar
  • Förstå hur man använder och skapar metoder och klasser i Java

Kursinnehåll

Vecka 1: Introduktion till Java och Programmering

  • Vad är programmering?
  • Installation av Java och IDE (Integrated Development Environment)
  • Skriva och köra det första Java-programmet (”Hello, World!”)

Vecka 2: Variabler och datatyper

  • Int, float, double, char, String
  • Aritmetiska operationer
  • Inmatning och utmatning

Vecka 3: Kontrollstrukturer

  • If-satser
  • Loopar (for, while, do-while)

Vecka 4: Funktioner och metoder

  • Funktioners syntax och anrop
  • Returnering av värden

Vecka 5: Objektorienterad programmering (Del 1)

  • Klasser och objekt
  • Konstruktorer
  • Instansvariabler och metoder

Vecka 6: Objektorienterad programmering (Del 2)

  • Arv och polymorfism
  • Abstrakta klasser och interfaces

Vecka 7: Arrayer och ArrayList

  • Eendimensionella och flerdimensionella arrayer
  • ArrayList och generiska datatyper

Vecka 8: Felhantering och undantag

  • Try-catch block
  • Egendefinierade undantag

Vecka 9: In- och utmatning (I/O)

  • Läsning och skrivning av textfiler
  • Läsning och skrivning av binära filer

Vecka 10: Projekt och Examination

  • Mini-projekt: Bygg ett enkelt Java-program (t.ex. en kalkylator eller en texteditor)

Kostnad

  • Gratis

För mer information, kontakta [jakob@jakobia.se].

Vecka 1: Introduktion till Java och Programmering

Vad är Programmering?

Programmering är processen att skriva, testa och underhålla kod som utgör ett program eller en applikation. Koden består av instruktioner som utförs av en dator för att utföra en viss uppgift eller lösa ett problem. Programmering kan vara allt från att skapa en enkel hemsida till att utveckla komplexa programvarusystem, dataspel eller artificiell intelligens.

Grundläggande Komponenter

  1. Språk: Programmerare använder programmeringsspråk som Java, Python, C++, och många fler för att skriva sin kod.
  2. Algoritmer och Logik: Programmering kräver en förståelse för hur man löser problem systematiskt, vanligtvis genom att använda algoritmer.
  3. Datastrukturer: Dessa är sätt att organisera och lagra data i programmet, och kan inkludera arrayer, listor, träd och hashtabeller bland andra.
  4. Syntaks och Semantik: Varje programmeringsspråk har en unik syntaks (grammatiska regler) och semantik (betydelse eller logik) som måste följas för att datorn ska kunna förstå koden.
  5. Kontrollstrukturer: Dessa inkluderar loopar, villkorsuttryck och funktioner/metoder, och används för att styra flödet av ett program.
  6. Felsökning: En viktig del av programmering är att kunna hitta och åtgärda fel i koden, vanligtvis kallade ”buggar”.
  7. Kompilering och tolkning: Koden måste vanligtvis kompileras till maskinkod eller tolkas för att kunna köras på en dator.
  8. Testning: Det är viktigt att testa sin kod för att se till att den fungerar som avsett och inte har några buggar eller säkerhetshål.

Tillämpningar

Programmering används i en mängd olika tillämpningar:

  • Webbapplikationer och hemsidor
  • Dataspel
  • Vetenskaplig forskning
  • Artificiell intelligens och maskininlärning
  • Inbyggda system (till exempel i bilar, flygplan)
  • Mobilapplikationer
  • Dataanalys och visualisering
  • Och mycket mer.

Skillnader i arbetsprocessen

Programmering kan vara en individuell eller kollektiv ansträngning och kan involvera olika utvecklingsmetodiker som ”vattenfall”, ”agil utveckling” eller ”DevOps” beroende på projektets omfattning och komplexitet.

Kort sagt, programmering är en central färdighet inom datavetenskap och informationsteknologi, och den är grundläggande för utvecklingen av den moderna världen.

Installation av Java och IDE (Integrated Development Environment)

Inledning

Denna beskrivning guidar dig genom stegen för att installera Java och en Integrated Development Environment (IDE) på din dator. En IDE är en programvara som tillhandahåller en rad verktyg för att underlätta programmering, inklusive en textredigerare för att skriva kod, felsökning, och andra funktioner som hjälper till att bygga applikationer effektivt.

Förberedelser

  1. Operativsystem: Kontrollera att du har ett stödande operativsystem. De flesta versioner av Windows, macOS och Linux stöds.
  2. Hårddiskutrymme: Kontrollera att du har tillräckligt med ledigt utrymme på din hårddisk. Ca 500 MB bör vara tillräckligt.
  3. Internetanslutning: En stabil internetanslutning krävs för nedladdningar.

Steg-för-steg Guide

Installera Java Development Kit (JDK)

  1. Nedladdning: Gå till Oracle’s officiella hemsida och ladda ner den senaste versionen av Java Development Kit (JDK) för ditt operativsystem.
  2. Installation: Dubbelklicka på den nedladdade filen och följ installationsguiden. Acceptera licensavtalet och välj installationsmappen.
  3. Miljövariabler: För Windows-användare, lägg till JDK:s bin-katalog till din PATH-miljövariabel. För macOS och Linux brukar detta oftast göras automatiskt.

Installera en IDE

Det finns flera IDEs att välja mellan. Här fokuserar vi på Eclipse och IntelliJ IDEA som är populära för Java-utveckling.

Eclipse

  1. Nedladdning: Besök Eclipse officiella hemsida och ladda ner installationsfilen.
  2. Installation: Dubbelklicka på den nedladdade filen och följ installationsguiden.

IntelliJ IDEA

  1. Nedladdning: Besök IntelliJ IDEA:s officiella hemsida och ladda ner installationsfilen.
  2. Installation: Dubbelklicka på den nedladdade filen och följ installationsguiden.

Bekräfta Installationen

  1. Java: Öppna ett terminalfönster och skriv java -version. Om du ser en versionsspecifikation har installationen lyckats.
  2. IDE: Starta din IDE och skapa ett nytt Java-projekt eller öppna ett exempelprojekt för att säkerställa att allt fungerar som det ska.

Slutsats

Grattis, nu har du installerat både Java och en IDE och är redo att börja programmera!

Ditt första Java-program

Med JDK installerat är det dags att skriva ditt första Java-program. Traditionellt börjar programmerare med ett ”Hello, World!” program. Detta enkla program skriver ut meddelandet ”Hello, World!” till konsolen.

  1. Skapa en fil: Skapa en fil med namnet HelloWorld.java.
  2. Skriv koden:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  1. Kompilera programmet: Öppna en terminal eller kommandotolk och navigera till mappen där du sparade din fil. Kör kommandot javac HelloWorld.java för att kompilera din kod.
  2. Kör programmet: Efter framgångsrik kompilering, kör ditt program med kommandot java HelloWorld. Du bör se ”Hello, World!” skrivas ut till konsolen.

Förståelse av Java-syntax

Java-program består av klasser och metoder, och all kod skrivs inom dessa strukturer. Låt oss bryta ner det grundläggande ”Hello, World!” programmet:

  • Klassdeklaration: public class HelloWorld definierar en klass, som är en mall för objekt. public specifierar att klassen är tillgänglig för andra klasser.
  • Metoddeklaration: public static void main(String[] args) definierar huvudmetoden, som är ingångspunkten för alla Java-applikationer. String[] args är en parameter som tar emot argument från kommandoraden.
  • Utskrift: System.out.println("Hello, World!"); är en metodanrop som skriver ut en sträng till konsolen.

Vecka 2: Variabler och datatyper

Variabeldeklaration och Initialisering

Variabler är en av de mest grundläggande och viktiga koncepten inom programmering, inklusive i Java. De fungerar som behållare som lagrar data som kan ändras under programmets körning. Variablerna tillåter programmerare att namnge datavärden, vilket gör koden lättare att förstå och underhålla. I detta avsnitt kommer vi att dyka djupare in i variablernas värld, utforska deras egenskaper, hur de deklareras, olika datatyper, och deras användning i Java.

För att använda en variabel i Java måste du först deklarera den genom att ange dess datatyp följt av variabelns namn. Du kan även initialisera variabeln i samband med deklarationen genom att tilldela den ett värde.

int age = 30; // Deklaration och initialisering av en variabel av typen int
String name = "Alice"; // Deklaration och initialisering av en variabel av typen String

Namngivning av Variabler

Namngivning av variabler är underkastat några regler och konventioner:

  • Namnet kan innehålla bokstäver, siffror, understrykningar (_) och dollartecken ($), men får inte börja med en siffra.
  • Namn är skiftlägeskänsliga, vilket innebär att age och Age är två olika variabler.
  • Namn bör vara beskrivande, vilket gör koden mer läsbar och underhållbar.
  • Java använder camelCase för namngivning av variabler, där första ordet börjar med liten bokstav och varje efterföljande ord med stor bokstav utan mellanslag, exempelvis myAge, userName.

Datatyper

Java är ett statiskt typat språk, vilket innebär att varje variabel måste deklareras med en specifik datatyp. Det finns två huvudtyper av datatyper i Java: primitiva datatyper och referenstyper.

Primitiva Datatyper

Primitiva datatyper är inbyggda i språket och representerar enkla värden. De inkluderar:

  • Heltalstyper: byte (8 bitar), short (16 bitar), int (32 bitar), long (64 bitar)
  • Flyttalstyper: float (32 bitar), double (64 bitar)
  • Teckentyp: char (16 bitar, används för att representera Unicode-tecken)
  • Sanningsvärdestyp: boolean (representerar sanningsvärdena true eller false)

Referenstyper

Referenstyper lagrar referenser (adresser) till objekt istället för själva datavärdena. Den vanligaste referenstypen är String, som används för att representera text. Andra referenstyper inkluderar klasser, gränssnitt, och arrayer.

Variabelns Räckvidd

Variablens räckvidd (scope) refererar till den del av koden där variabeln är tillgänglig för användning. I Java bestäms räckvidden av var variabeln deklareras:

  • Lokala variabler: Deklareras inom en metod och är endast tillgängliga inom den metoden.
  • Instansvariabler (medlemsvariabler): Deklareras utanför en metod men inom en klass. De är tillgängliga för alla metoder i klassen, men kräver ett objekt av klassen för att kunna användas.
  • Klassvariabler (statiska variabler): Deklareras som statiska inom en klass. De tillhör klassen snarare än något specifikt objekt och kan nås direkt med klassens namn.

Konstantvariabler

I vissa fall vill du kanske ha variabler vars värde inte kan ändras under programmets körning. I Java deklareras dessa variabler som konstanter med hjälp av nyckelordet final.

final int MAX_AGE = 100;

Att använda variabler på rätt sätt är avgörande för att skapa effektiv och underhållbar kod. Genom att förstå och tillämpa olika typer av variabler och deras räckvidd, kan du skapa mer flexibla och robusta Java-program.

Vecka 3: Kontrollstrukturer

If-satser

If-satser används för att utföra olika åtgärder baserade på om ett visst villkor är sant eller falskt. En if-sats kan hjälpa ditt program att ta beslut baserat på användarens input, resultat av beräkningar eller andra logiska villkor.

Syntaxen för en if-sats i Java är som följer:

if (villkor) {
    // Kodblock som exekveras om villkoret är sant
}

Om villkor utvärderas till sant, kommer kodblocket inuti if-satsen att köras. Om villkor är falskt, kommer kodblocket att hoppas över.

Det går också att lägga till en else-del för att hantera fallet då villkoret inte är sant:

if (villkor) {
    // Kodblock som exekveras om villkoret är sant
} else {
    // Kodblock som exekveras om villkoret är falskt
}

För mer komplexa beslut kan else if användas för att testa flera villkor:

if (villkor1) {
    // Kodblock som exekveras om villkor1 är sant
} else if (villkor2) {
    // Kodblock som exekveras om villkor2 är sant
} else {
    // Kodblock som exekveras om inget av de ovanstående villkoren är sant
}

Loopar

Loopar används för att upprepa ett kodblock flera gånger. Java stöder flera olika typer av loopar, inklusive for, while och do-while.

For-loopar

En for-loop är användbar när antalet iterationer är känt på förhand. Syntaxen för en for-loop är:

for (initiering; villkor; uppdatering) {
    // Kodblock som upprepas
}
  • Initiering: Sätter upp en loopvariabel.
  • Villkor: Loopar så länge detta villkor är sant.
  • Uppdatering: Uppdaterar loopvariabeln efter varje iteration.

Exempel:

for (int i = 0; i < 5; i++) {
    System.out.println("i är nu " + i);
}

While-loopar

En while-loop fortsätter att köra så länge villkoret är sant. Den är användbar när antalet iterationer inte är känt på förhand.

while (villkor) {
    // Kodblock som upprepas
}

Exempel:

int i = 0;
while (i < 5) {
    System.out.println("i är nu " + i);
    i++;
}

Do-While-loopar

En do-while-loop är lik while-loopen, men den garanterar att kodblocket körs minst en gång eftersom villkoret testas efter kodblocket har körts.

do {
    // Kodblock som upprepas
} while (villkor);

Exempel:

int i = 0;
do {
    System.out.println("i är nu " + i);
    i++;
} while (i < 5);

Vecka 4: Funktioner och metoder

Vad är metoder i Java?

I Java är en metod en samling uttalanden som utför en specifik uppgift. Metoder används för att utföra vissa åtgärder och de kan returnera ett värde till kallande kod. Genom att definiera och använda metoder kan en programmerare bryta ner problemet i mindre delar, vilket gör koden mer hanterbar, läsbar och återanvändbar.

En metod i Java definieras inom en klass och den kan utföra någon operation och sedan returnera ett resultat. Metoder kan ta noll eller flera parametrar, som är data som metoden kan bearbeta. Syntaxen för att deklarera en metod i Java är följande:

modifier returnTyp metodNamn(parameterLista) {
    // metodkropp
}
  • Modifier – Anger åtkomstnivån för metoden (t.ex., public, private).
  • ReturnTyp – Datatypen av värdet metoden returnerar. Om metoden inte returnerar något värde används nyckelordet void.
  • MetodNamn – Namnet på metoden.
  • ParameterLista – En lista med noll eller flera parametrar som metoden tar emot, separerade med kommatecken. Varje parameter består av en datatyp följt av ett variabelnamn.

Exempel på en enkel metod

Låt oss titta på ett enkelt exempel för att bättre förstå hur metoder fungerar i Java.

public class Calculator {

    // Metod för att addera två tal
    public static int add(int num1, int num2) {
        return num1 + num2;
    }

    public static void main(String[] args) {
        int sum = add(5, 3);
        System.out.println("Summan är: " + sum);
    }
}

I exemplet ovan har vi en klass Calculator med en metod add som tar två parametrar (num1 och num2) och returnerar summan av dessa två tal. I main-metoden anropas add-metoden med två argument (5 och 3), och resultatet (summan) skrivs ut till konsolen.

Funktioner vs. Metoder

Termerna ”funktion” och ”metod” används ofta omväxlande, men i kontexten av Java refererar vi oftast till dessa operationer som metoder, eftersom de är definierade inom en klass och agerar på data som är associerad med klassen eller dess instanser. I andra programmeringsspråk som inte är objektorienterade, såsom C, används termen ”funktion” mer frekvent.

Vikten av metoder i Java

Metoder spelar en nyckelroll i Java-programmering av flera anledningar:

  • Återanvändbarhet – Genom att definiera kod som utför en specifik uppgift i en metod, kan den koden lätt återanvändas på flera ställen i programmet, vilket minskar redundans.
  • Modularitet – Metoder hjälper till att dela upp ett program i mindre, hanterbara segment. Detta gör det lättare att förstå, underhålla och felsöka koden.
  • Abstraktion – Genom att använda metoder kan programmerare skapa en enkel gränssnitt mot mer komplex kod. Användaren av metoden behöver inte förstå den inre mekaniken för att använda den.

Parametrar och argument

Termerna ”parameter” och ”argument” används ofta i samband med metoder. En parameter är en variabel som deklareras av metoden och tar emot ett värde när metoden anropas. Ett argument är det faktiska värdet som skickas till metoden vid anropet. I exemplet ovan är num1 och num2 parametrar till add-metoden, medan 5 och 3 är argumenten som skickas till metoden vid anropet.

Slutsats

Metoder i Java erbjuder ett kraftfullt sätt att organisera och återanvända kod. Genom att förstå hur man skapar och använder metoder, kan Java-programmerare skapa mer effektiva, modulära och lättförståeliga program. Som nybörjare i Java är det viktigt att få en fast grund i dessa koncept för att kunna bygga på mer avancerade ämnen i framtiden. Metoder är grunden för objektorienterad programmering i Java och utgör en viktig del av språkets kraft.

Vecka 5: Objektorienterad programmering (Del 1)

  • Klasser och objekt
  • Konstruktorer
  • Instansvariabler och metoder

Klasser och Objekt

Klasser i Java kan ses som en ritning eller en mall baserad på vilken individuella objekt skapas. En klass definierar de egenskaper (variabler) och beteenden (metoder) som dess objekt kommer att ha. Tänk dig till exempel en klass som heter Bil. Denna klass kan innehålla egenskaper såsom färg, märke, och maxhastighet samt metoder som accelerera() och bromsa().

public class Bil {
    String färg;
    String märke;
    int maxhastighet;

    void accelerera() {
        // Kod för att accelerera bilen
    }

    void bromsa() {
        // Kod för att bromsa bilen
    }
}

Ett objekt är en instans av en klass. När vi skapar ett objekt av klassen Bil, använder vi klassens definition för att allokera minne för objektets egenskaper och definiera dess metoder. Varje objekt har sin egen uppsättning värden för dess egenskaper som skiljer det från andra objekt av samma klass.

Bil minBil = new Bil();
minBil.färg = "Blå";
minBil.märke = "Volvo";
minBil.maxhastighet = 180;

Konstruktorer

En konstruktor är en speciell typ av metod i Java som används för att initialisera nya objekt. Konstruktorn har samma namn som klassen och kan ta argument för att sätta objektets initiala tillstånd.

public class Bil {
String färg;
String märke;
int maxhastighet;
// Konstruktor
Bil(String färg, String märke, int maxhastighet) {
    this.färg = färg;
    this.märke = märke;
    this.maxhastighet = maxhastighet;
}}// Skapa ett nytt Bil-objekt med hjälp av konstruktorn
Bil minBil = new Bil("Blå", "Volvo", 180);

Notera användningen av this-nyckelordet. Detta hänvisar till det aktuella objektet och används för att skilja mellan instansvariabler och parametrar med samma namn.

Instansvariabler

Instansvariabler är de egenskaper som definieras inom en klass och som varje objekt av klassen har en egen kopia av. I exemplet med Bil-klassen är färg, märke, och maxhastighet alla instansvariabler. Värdena för dessa variabler kan variera mellan olika instanser (objekt) av klassen.

Metoder

Metoder definierar beteendet hos objekten av en klass. De är funktioner som kan utföra operationer på objektets data (instansvariabler) eller utföra andra uppgifter. I Bil-exemplet representerar accelerera() och bromsa() klassens beteenden.

Metoder kan också ta parametrar, returnera värden och interagera med andra objekt och klasser.

public class Bil {
    int hastighet = 0;

    void accelerera(int ökning) {
        hastighet += ökning;
    }

    int getHastighet() {
        return hastighet;
    }
}

Sammanfattning

Klasser och objekt är hjärtat i Java och objektorienterad programmering. De tillåter programmerare att skapa moduler och återanvändbara kodblock som kan hantera komplexa uppgifter. Konstruktorer, instansvariabler, och metoder spelar alla en viktig roll i att definiera hur dessa objekt skapas, deras egenskaper och deras beteenden. Att förstå dessa koncept är avgörande för att bli en effektiv Java-programmerare och för att kunna utnyttja kraften i objektorienterad design.

Certifikat

Gå med i vårt nyhetsbrev för att få ett gratis certifikat om du har gått klart kursen.

Subscribe to our newsletter!

Begär certifikat av avklarad kurs. Du har gjort hela kursen och förstår övningarna. Krävs att du har gått med i vårat nyhetsbrev för att få detta certifikat som ökar chansen till ditt drömjobb. Intyget kommer efter några veckor.
Skriv vilken kurs du vill ha certifikat för. Lova att du har gått kursen klart.