Programmering Java Grunder - Jonas Bystrom.pdf

(2165 KB) Pobierz
Till denna bok medföljer ett antal övningsfiler som du laddar ner från vår webb-
plats www.docendo.se:
1.
2.
3.
4.
5.
6.
7.
Starta webbläsaren, skriv
www.docendo.se
i adressfältet och tryck på
Enter.
Skriv artikelnumret,
1249,
i sökrutan och klicka på
Sök.
Klicka på titeln
Programmering A Java.
Klicka på filen
1249.zip
högst upp på sidan.
Klicka på
Spara,
välj var du vill spara filen, exempelvis på skrivbordet, och
klicka på
Spara.
När filen har hämtats stänger du dialogrutan och avslutar webbläsaren.
Om du har valt att spara filen på skrivbordet visas den som en ikon med
namnet
1249.
Dubbelklicka på ikonen för att packa upp filerna till lämplig
mapp på din hårddisk.
Copyright © Docendo AB
Detta verk är skyddat av upphovsrättslagen. Kopiering, utöver lärares rätt att
kopiera för undervisningsbruk enligt BONUS-avtal är förbjuden. BONUS-avtal
tecknas mellan upphovsrättsorganisationer och huvudman för utbildningsanord-
nare, exempelvis kommuner/universitet.
Våra böcker och tillhörande produkter är noggrant kontrollerade, men det är
ändå möjligt att fel kan förekomma. Vi tar gärna emot förbättringsförslag.
Produkt- och producentnamnen som används i boken är ägarens varumärken eller
registrerade varumärken.
ISBN: 978-91-7531-020-6
Artikelnummer: 1249E
Författare: Jonas Byström
Omslag: Iréne Friberg
Bild på omslaget ©SuperStock
1
Allmänt om Java
I detta kapitel
I detta kapitel kommer du att få veta lite om Java och dess historia. Du kommer
också att få reda på lite om vad som kommer att krävas av dig för att bli en full-
fjädrad programmerare. Dessutom blir det lite grunder i terminologin och infor-
mation om hur programmering fungerar.
Historia
Programmeringsspråket Java började utvecklas i början av 1990-talet och påmin-
ner till stor del om C++, men har till skillnad från C++
många inbyggda funktioner för att det ska vara lätt att
köra på många olika typer av datorer. Java konstruerades
för att lösa verkliga uppgifter och utvecklades som en
biprodukt när man på Sun Microsystems byggde en hand-
dator med bland annat inbyggt trådlöst nätverk.
En handdator med Wi-Fi låter måhända inte så spännande
idag, men det var avancerat på den tiden (när mobiltelefo-
ner var rariteter som såg ut och vägde som tegelstenar). Ganska snart efter följde
webbläsaren Netscape med inbyggt stöd för Java.
Precis som C++ så är Java objektorienterat. Objektorienterat innebär att man som
programmerare tänker i termer av vilka delar, objekt, som finns med i systemet
man ska bygga. Icke objektorienterad programmering tenderar att fokusera mer
på hur ett problem ska lösas. Därför är det lättare att ”tänka objektorienterat”
och därmed skapa program med färre fel i. Det finns också andra fördelar med
objektorientering, till exempel att det är lättare att återanvända objekt nästa gång
man gör ett liknande system.
Om man förstår C++ så förstår man även språket Java; skillnaderna är relativt
små. Men Java är mycket mer än ett språk. Det innehåller också en stor basfunk-
tionalitet: fönster, knappar och menyer för vanliga applikationer; generering av
webbsidor och databaskopplingar för webbapplikationer, parallellisering för att
utföra flera saker samtidigt, och så vidare.
5
1 Allmänt om Java
Hur fungerar det att programmera?
Hårdvara och mjukvara
Hårdvara och mjukvara talas det ofta om i databranschen, även kallade maskin-
vara och programvara. Vad är då detta? Helt enkelt kan man förklara det så att
hårdvara är ”hårda saker”, det vill säga saker man kan ta på. Mjukvara är själva
programmet, till exempel Windows och Word. Det går ju inte riktigt att ta på
Windows eller Word, utan de liknar mer idéer eller funktioner för användaren.
För programmeraren, å andra sidan, är ett program en uppsättning instruktioner
som talar om för datorn hur den ska bete sig.
Ett program kan också kallas en applikation; det är samma sak.
Fel i mjukvaran – avlusning
Ibland när programmeraren gör ett fel så blir det märkbart för användaren i
slutändan. Då talar man om en ”bugg”. En bugg kan leda till allt ifrån irriterande
brister, till exempel att det plötsligt inte går att zooma i Word, till mer allvarliga
fel som att hela Windows bryter ihop och visar en blå skärm med felinformation.
När man letar efter ett fel med avsikten att ta bort det så kallas det för ”debug-
ging” eller avlusning.
Bugg kommer av engelskans
bug,
och det är som bekant engelska för insekt. Som
kuriosa kan man nämna en lustig anekdot om hur det ordet kommit att används
för programmeringsproblem. Det har att göra med att de första datorerna såg
helt annorlunda ut än dagens. Då användes datorer som fyllde flera stora rum
och som drog enorma mängder ström med sladdar och radiorör om vartannat.
En dator då hade ungefärligen samma kapacitet som en vanlig, enkel digital ter-
mometer har idag. Ett vanligt fel som uppstod vid driften av dessa datorer var att
kackerlackor och andra insekter nästlade sig in mellan strömförande ledningar.
Samtidigt som de gjorde sig själva en otjänst och blev elektrifierade så lyckades de
kortsluta en del av datorn, och programfel tillsköt. Därav bugg.
CPU
En mycket central del i varje dators hårdvara är dess CPU som betyder
Central
Processing Unit,
eller centralprocessor. Det är CPU:n som steg för steg utför alla
instruktioner som programmeraren matat in för hand.
Centralprocessorn innehåller logiska enheter för att kunna utföra addition, sub-
traktion, multiplikation med mera. Det finns också funktioner för datakopiering
och jämförelser, till exempel större än, mindre än eller lika med, lika med, skilt
från, et cetera.
6
1 Allmänt om Java
En CPU kan bara läsa och utföra ett särskilt sorts kodsystem. Detta kod-
system kallas
maskinkod
och varierar mellan olika märken och olika sorters
CPU:er. Maskinkod är helt obegripligt för den oinvigde: till exempel betyder
1000101111000011
”flytta data från b till a” för en Pentium-kompatibel
CPU; fullkomligt meningslöst och obegripligt alltså. Det viktiga du behöver veta
här är bara att maskinkod är en lista med instruktioner som CPU:n kan förstå.
Källkod
För att slippa skriva ettor och nollor så skriver programmeraren ”källkod”, eller
”kod”, som sedan översätts till maskinkod. Källkoden är text i en helt vanlig
textfil, men språket man använder har en avsevärt enklare grammatik än vad vi är
vana vid. Även i dess mest avancerade form är den väldigt basal och mycket långt
ifrån vanlig enkel svenska eller engelska.
Java översätts till en slags maskinkod som inte går att köra direkt på din dator,
utan i stället emuleras en ”Java-CPU” som kallas
Java Virtual Machine
eller
JavaVM.
Detaljerna är inte så väsentliga här, utan det viktiga är att Java har ett
”extra lager” mellan ditt program och datorn, så att ditt program körs i en slags
”sandlåda”. Om programmet ställer till med oreda i sin sandlåda så gör det ing-
enting, det är bara att starta om med en ny och fräsch sandlåda igen. Det kostar
visserligen lite prestanda, men betalar sig i termer av robusthet och säkerhet.
Källkoden skriver man in ungefär som vanlig text i en ordbehandlare: rad för
rad, i små stycken eller satser. Ett komplett program kan innehålla allt ifrån 10
rader till miljontals rader. En programsats motsvarar ungefär ”en mening” i vanlig
skrift. En sats är helt enkelt en grupp med ord som kompilatorn kan förstå.
Nyckelord
Specifika ord som används i ett språk kallas
nyckelord.
Dessa ord är i Java på
engelska och är ofta koncisa. Några exempel:
if
,
while
,
switch
och
case
.
I andra programmeringsspråk används andra nyckelord.
Kompilering
För att kunna köra programmet så måste man ”översätta” källkoden till maskin-
kod som CPU:n kan förstå. Den här översättningen från källkod till maskinkod
kallas
kompilering.
Programmet som kompilerar heter kompilator.
Ofta används nuförtiden ett integrerande verktyg för att skriva in källkod, kompi-
lera och avlusa. Förr användes ofta ett vanligt textredigeringsverktyg för källkoden
och en kompilator som man startade från kommandotolken; om man vill vara
lite retro så kan man fortfarande göra på detta vis. Den här kursen kommer att gå
in mer djuplodande på ett integrerat verktyg av Sun: NetBeans.
7
Zgłoś jeśli naruszono regulamin