NTNU-logo-leksjoner.png (8 Kb)
Introduksjon
Vuokko-Helena Caseiro, Institutt for datateknologi og informatikk (IDI), NTNU
Lærestoffet er utviklet for faget Programmering i Java

Innhold

Blikk over leksjonene

Velkommen til Programmering i Java! Kurset krever grunnleggende datakunnskaper.

Pensumlitteraturen i tillegg til leksjonene er mesteparten av det som står i kapitlene 1 til 12 i boka Programmering i Java av Lervik og Havdal (den fjerde utgaven). Leksjonene skal utdype teksten i læreboka og fungere som en leserveiledning. Leksjonene skal også inneholde flere eksempler.

Her følger en kort oversikt over leksjonene i kurset slik de er planlagt. Du trenger selvsagt ikke forstå alt som nevnes her i første omgang.

  1. Introduksjon. Denne leksjonen. Vi ser på hva slags programvare vi benytter i kurset og forsøker å skrive våre første bitte små program og kjøre dem.
  2. Variabler, datatyper og uttrykk. Vi gjennomgår de minste "byggeklossene" i Java som ligner dem vi finner i mange andre programmeringsspråk. Også leksjon 3 og 4 omhandler stoff som er felles for mange språk.
  3. Valg som kontrollstruktur. Her gjennomgås if-setningen som gjør det mulig å velge hvilke instruksjoner som skal utføres.
  4. Løkke som kontrollstruktur. Her lærer vi hvordan vi kan få til å gjenta et sett instruksjoner.
  5. Din første klasse, del 1. I de sentrale leksjonene 5, 6, 7 og 8 gjennomgår vi helt sentralt stoff om objektorientering, som er vår måte å organisere program på.
  6. Din første klasse, del 2.
  7. Klasser som byggeklosser.
  8. Samarbeid mellom objekter. Vi lærer mer om hvordan objekter kan samarbeide ved å sende meldinger til hverandre.
  9. Litt om Java-API-et, arv og grafikk. Dette er stoff som er mindre viktig for oss.
  10. Tabeller av primitive datatyper. Vi lærer å lagre store mengder data av primitive typer i tabeller.
  11. Litt av hvert om tabeller. Blant annet lærer vi å kalle ferdiglagde sorteringsmetoder og søkemetoder. Vi begynner også å lagre objekter i tabeller.
  12. Sammenligning og sortering av objekter. Vi lærer å kalle sorteringsmetoder også for tabeller av objekter.

Installasjon av kursets programvare

I delkapittel 1.5 i læreboka beskrives installasjon og bruk av JDK, Java SE Development Kit, som er Suns standard utviklingsverktøy for Java. Du trenger dette verktøyet for å programmere i Java, så hent det på http://www.oracle.com/technetwork/java/javase/downloads/index.html.

last1.jpg

Du velger det som er riktig for deg, for eksempel:

last2.jpg

Etter nedlastingen vil du da ha en fil som heter jdk-9.0.1_windows-x64_bin.exe (375,51MB) på din harddisk. Dobbelt-klikk på fil-ikonet for å starte installasjonen av JDK. Når du blir spurt om noe, er det greit at du godtar forslagene.

Når du er ferdig med å installere, bør du se på de såkalte miljøvariabelene PATH og CLASSPATH. Disse variabelene hjelper operativsystemet med å bruke JDK. Sannsynligvis må du justere PATH og sannsynligvis trenger du ikke gjøre noe med CLASSPATH.

Når det gjelder PATH, er ideen den at du må føye til circa "C:\Program Files\Java\jdk-9\bin" (dvs. det som er JDK-mappen er hos deg) på riktig sted på datamaskinen. Les Setting the PATH Environment Variable i installasjonsinstruksjonen om hvordan dette gjøres. Med Windows 10 for eksempel kan det se slik ut etter at man har valgt sånn omtrent System, Control Panel, Advanced system settings, Environment Variables og er ferdig med å endre PATH:

path.png

Hvis CLASSPATH allerede er satt på din maskin, må du forsikre deg om at "." (som betyr "nåværende mappe") forekommer (les om nødvendig s. 383). Hvis CLASSPATH ikke er satt, skulle det ikke være nødvendig å gjøre noe med den.

For å teste om JDK fungerer kan du gjøre følgende: Åpne et MS DOS-vindu (se nedenfor). Skriv javac (se s. 37 i læreboka). Eller du kan skrive java -version.

Kommandovinduet

Det kan være nyttig å vite littegrann om kommandovinduet (også kalt MS-DOS-vinduet). Åpne kommandovinduet ved å velge i tur og orden Start, All Programs, Accessories, Command Prompt e.l.

Du kan flytte deg fra en mappe til en annen ved å bruke cd-kommandoen:

cd mappenavn

for å flytte deg ned, og

cd ..

for å flytte deg ett nivå opp. Legg merke til at promptet (f.eks. C:\WINDOWS> eller C:\javaprogrammer>) sier hvor du er. For å se hva som ligger i en mappe kan du skrive dir.

Kompilering og kjøring

Du kan da starte opp for alvor ved å arbeide deg gjennom de fem punktene om å redigere, kompilere og kjøre s. 38 og 39. Som eksempel brukes et lite program som heter HeiVerden for å skrive litt tekst (s. 33 i læreboka).

De to første punktene handler om å redigere et program. Du kan hente HeiVerden.java fra http://javabok.no/eksempler.php for å slippe å skrive det inn selv (vi vil komme tilbake til tekstredigering i neste avsnitt). Lagre filen i en mappe som du skal bruke til javaprogrammer, f.eks. C:\javaprogrammer.

Neste skritt (punkt 3) er å åpne kommandovinduet og stille deg i den mappen der HeiVerden.java ligger.

Punkt 4 er å kompilere dette programmet til en class-fil. Det kan se slik ut:

kompilere.jpg

Hvis alt går bra, skal du nå altså ha fått laget en ny fil HeiVerden.class som ligger på samme sted som HeiVerden.java (vha. "dir" i kommandovinduet ovenfor har vi fått bekreftet at disse to filene ligger i mappen c:\javaprogrammer). Å få til å kompilere er helt sentralt for å komme i gang, så jobb med det.

Til slutt, når du har fått til kompileringen, kan du kjøre programmet. Utfør altså punkt 5 s. 38 i læreboka. Det kan se slik ut:

kjoere.jpg

Dersom du støter på problemer underveis, går det an å spørre i fagets diskusjonsgruppe (klikk på "Diskusjoner" i tremenyen til venstre i It's Learning). En fin ting med det er at andre som kanskje har lignende problemer også får lese. Eller du kan be faglærer om hjelp.

Tekstredigeringsprogram

Du trenger et tekstredigeringsprogram (editor) for å skrive programmer. Det kan også være at du foretrekker å kompilere og kjøre fra et tekstredigeringsprogram (som et alternativ til punktene 3, 4 og 5 på s. 38 i læreboka). Det fins mange tekstredigeringsprogrammer og det viser seg at de fleste finner seg en favoritt. Noen har egen funksjonalitet for Java-utvikling, slik at du klikker i en meny for å få kompilert med javac og kjørt med java.

En enkel editor for Windows er TextPad. Den kan tas ned for evaluering. Installer gjerne JDK først og deretter en editor. Grethe Sandstrak har laget en introduksjon til bruken av TextPad.

Det går an å bruke Notisblokk/NotePad, men vi anbefaler det ikke fordi det blir litt vel enkelt (f.eks. er det bare mulig å ha en fil oppe av gangen).

Det er veldig viktig at du er fortrolig med å hente opp filer fra harddisken, gjøre endringer, lagre dem igjen, lagre med nytt navn og så videre. Øv inn dette dersom du trenger det.

Åpne HeiVerden.java i det tekstredigeringsprogrammet som du har valgt å bruke. Slik kan det f.eks. se ut i TextPad:

textpad.jpg

Du kan altså kompilere og kjøre via TextPad vha. hhv. Compile Java og Run Java Application.

Hva betyr eksempelprogrammet HeiVerden?

Det er et lite dilemma for mennesker som underviser i Java at selv de minste programmene blir seende litt uforståelige ut. class, public, void, static, System, out og alt det andre er helt nytt for studentene, vi blir nødt til å utsette forståelsen av dette noen leksjoner.

Hvorfor alt dette må med selv i et bitte lite program er ikke så lett å forstå i starten, men det henger sammen med at vi må være konsekvente. Programbiten består av en klasse (HeiVerden) og inni den, en metode (main()). I vanlige programmer pleier det å kry det av både klasser og metoder. Metoden main() har alltid noen bestemte "stikkord" i metodehodet (dvs. før selve kroppen som er avgrenset av klammeparentesene) for å indikere forskjellige egenskaper.

Metoden main() er det stedet der programutførelsen starter. I en del programmeringslitteratur benyttes ordet "hovedprogram" om denne biten av kildekoden. I forbindelse med Java kaller man det sjelden det, fordi main()-metoden sjelden er ansvarlig for en stor del av det totale programmets jobb. Det typiske er at main() er en liten kodesnutt som har ansvaret for å starte opp andre deler av programmet. Det er ikke hensiktsmessig å fylle main() opp med massevis av programkode.

Det vi skal prøve å lære oss i resten av kurset er for det første hvordan vi skal dele programmene våre inn i flere slike klasser, og for det andre hva vi kan putte inn i dem, det vil si hvordan vi skal få klassene til å utføre sine oppgaver.

Vi tar med en figur som viser litt ordbruk. Men dette kommer vi altså mye mer tilbake til utover i kurset.

programmet.gif

Opphavsrett: Forfatteren og Stiftelsen TISIP