Programmering - Java programmering

(5 dagar )

Java programmering

Mål och Syfte

Målet med denna kurs i Java är att du direkt efteråt ska kunna börja utveckla dina första Javaapplikationer. Kursen ger dig många konkreta exempel på hur detta effektiva språk kan användas. Det gör att du snabbt kan börja arbeta med Java efter kursen. Grundläggande programmeringskunskaper i något språk är krav. Under kursen lär du dig det objektorienterade tänkandet med Java. Vi kikar på applikationsprogrammering såväl som applets till webben och kopplingar däremellan. Vi studerar konceptet klient server och skriver en enklare nätverksapplikation. Språkets grundläggande kommandon och struktur gås igenom grundligt med fokus på objektorienteringen. Strömmar studeras grundligt då många anser att detta är komplicerat, det är också en fundamental del av språket. Vi lär oss också att hantera Javadoc. Kursen bedrivs inte i någon särskild utvecklingsmiljö utan vi jobbar direkt med texteditorer och javac kompilatorn. Allt baseras på Sun Microsystems SDK/JDK/JRE. Självfallet lär vi oss också hur man installerar ”miljön” på Microsoft plattform samt Unix. Kursen bedrivs på den plattform som kunden önskar.

Kursupplägg

  • Java och Internet
  • Java som språk
    • Enklare än C (men långsammare)
    • Bättre strukturerat än C++
    • Plattformsoberoende
  • Datatyper
  • Klasser
  • Objekt
  • Operatorer
  • Interface
  • Inre klasser
  • Dokumentation - JavaDoc
  • Exekvering
  • GUI (Grafik)
  • AWT
  • Applets
  • Exceptions och Debugging
  • Strömmar och filer

Förkunskapskrav

Grundläggande programmeringskunskaper i något språk är krav, gärna C/C++ kanske Pascal eller Smalltalk/Modula -kunskaper eller motsvarande. Mycket god datorvana är ett måste.

Kurslängd: Fem dagar

   

Nyckelord till Javakursen;

Datatyper och variabler

  • Reserverade ord/nyckelord
  • Inbyggda grundtyper Primitiver, logiska, text, heltal, flyttal
  • Variabeldeklaration
  • Javas referenstyper/klasser "Malltyper"

Konstruera och initialisera objekt

  • Malloc
  • Attribut
  • Konstruktorer
  • Variabeltilldelning
  • Garbage collect
  • Använda referenstyper
  • Pass By Value, Pass By reference
  • Referensen this
  • Java språkets Paket, Class, Interface, Method, Variables, Constants

Inbyggda funktioner, Uttryck och flödeskontroll

  • Variabler och räckvidd
  • Initialisering av variabler
  • Villkors satser if then else switch
  • Shiftoperatorer
  • Stränghantering
  • Variabelomvandling
  • Villkorliga loopar while, for, do

Matriser

  • Deklarering och skapa
  • Initialisering
  • Dimensioner
  • Storleks Gränser, statiska , dynamiska
  • Kopiera matriser

Arv

  • Subklasser
  • Polymorphism
  • Arvshirarkier
  • is a, has a
  • instance of
  • Overloading
  • Overriding
  • Super
  • toString
  • WrapperClasses

Klasshantering

  • Static
  • Final
  • Abstract
  • Interfaces
  • Inre klasser

Felhantering/Avbrott

  • try catch & finnaly
  • fel/avbrottskategorier
  • Vanliga fel/avbrott
  • throws
  • Overriding

Textbaserade applikationer

  • Klassen Properties
  • Terminal I/O
  • Fil I/O
  • Klasserna Math, String, StringBuffer
  • Collections; Set, List, Iterators, Maps, Sorting
  • Använda javadoc och jar

Skapa grafiska applikationer (GUI)

  • AWT
  • Paketet java.awt
  • Containers
  • Frames
  • Skapa paneler
  • Layouts; FlowLayout, BorderLayout, GridLayout, CardLayout, GridBagLayout
  • Rita i AWT

Händelsehantering i GUI

  • Vad är en händelse?
  • Källor till händelser
  • Fånga upp och hantera händelser

Java 2SDK händelsemodeller

  • Fördela händelser
  • GUI egenskaper
  • Händelsekategorier
  • Lyssnare

Metoder för att hantera GUI händelser

  • Trådar
  • Vad är en tråd i Java
  • De tre delarna av en tråd
  • Skapa tråden
  • Planlägga trådar

Kontrollera en tråd

  • Avsluta
  • Testa
  • Prioritet
  • Vänteläge
  • Olika vägar att skapa trådar

Synkronisering

  • Problembeskrivning
  • Lock
  • synchronized
  • Baklås - hönan eller ägget

Påverka trådar

  • wait & notify
  • tillstånd

Trådstacken SyncStack

Java 2 SDK: suspend stop & resume

Avancerad I/O hantering

  • Byte strömmar InputStream & OutputStream
  • Teckenströmmar Reader & Writer
  • Typer av dataströmmar
  • Koppla ihop dataströmmar med filter, piping
  • Bearbeta dataströmmar, decorator
  • Byte stream classes
  • Char stream classes
  • Byte och teckenomvandling
  • FileReader, FileWriter
  • BufferReader, BufferWriter
  • StringReader, StringWriter
  • PipedReader, PipedWriter
  • URL strömmar
  • Random Acces Files
  • Serialisation
  • Skriva och läsa objekt strömmar

Nätverksprogrammering

  • Socket
  • Skapa en anslutning
  • Adressering
  • Portnummer
  • Javas nätverksmodell
  • TCP/IP server
  • TCP/IP klient