150 likes | 322 Views
Introduksjon. Forutsetninger for å lese læreboka side 2 Gjør deg kjent med læreboka og web-siden! side 3 Hva er et program? side 4 Vi kan betrakte datamaskinen som ”lagdelt” side 5 Et lite program (en applikasjon) side 6-7 Fra kildekode til kjørbart program side 8-9
E N D
Introduksjon Forutsetninger for å lese læreboka side 2 Gjør deg kjent med læreboka og web-siden! side 3Hva er et program? side 4 Vi kan betrakte datamaskinen som ”lagdelt” side 5Et lite program (en applikasjon) side 6-7Fra kildekode til kjørbart program side 8-9 Livsløpet til programmer side 10 Hva med objektene? side 11 Å lage et program er en prosess side 12 Tre typer Java-programmer side 13 Å kjøre en applet side 14 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Du har vært datamaskinbruker en stund. Du kjenner godt til bruk av Windows inkl. Windows Utforsker, bruk av utklippstavle, etc. begrepene fil, katalog og underkatalog Du vet litt om betydningen av en fils etternavn, eksempler: Windows programfiler har etternavn exe. Filer med endelse doc er datafiler - input til programmet Word. Merk forskjellen mellom programfil og datafil. Du har noe erfaring med bruk av Internett. Windows har grafisk brukergrensesnitt. MS-DOS-ledetekst er et eksempel på et tekstligbrukergrensesnitt, der vi skriver kommandoer for å navigereblant filene. En stor fordel å kunnenoen slike kommandoer. Du vet litt om datamaskinens oppbygging: mikroprosessor primærminne (RAM) og sekundærminne Forutsetninger for å lese læreboka Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Gjør deg kjent med læreboka og web-siden! • Web-siden: http://www.tisip.no/boker/java/ • Hvert kapittel har følgende oppbygging: • Læringsmål • Tekstdelen av kapitlet • De fleste underkapitlene avsluttes med små oppgaver. De viktigste av disse er satt opp i tilknytning til det aktuelle temaet i denne serien av foiler. Løsning til oppgavene finnes på web-siden. • Alle nummererte eksempelprogrammer ligger på web-siden, slik at du kan laste dem ned og kjøre dem på din egen maskin. • Til slutt i hvert kapittel: • Repetisjonsoppgaver, som dekker de viktigste emnene av kapitlet • Programmeringsoppgaver. Løsning til mange av disse ligger på web-siden. Liste med forklaring av nye begreper i kapitlet. • Og husk: Det er ikke mulig å lese seg til å bli en god programmerer. Du må programmere mye. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Hva er et program? • Et program er en sekvens med bestemte handlinger som kan utføres mange ganger. • ”Program” fra hverdagslivet: • Å knytte sko – en innøvd sekvens • Å lage en ukjent matrett, må bruke oppskrift • Program for datamaskiner • Du har mange ferdige program på datamaskinen din: tekstbehandler, regneark, osv. • Sekvensen av handlinger (programmet) er beskrevet i et bestemt språk som maskinen forstår. Dette er gjort av mennesker. • Formålet med denne boka er at du skal lære å skrive slike programmer. • Vi skal bruke et bestemt språk som heter Java. Andre programmeringsspråk er Pascal og C++. • En del forenklet kan man si at språk for datamaskiner skiller seg fra vanlige språk ved at • antall ord er svært lite. I Java er det 48 ord, men det er mulig å definere nye ord. • et ord eller en setning har kun én, helt veldefinert, betydning. • ordene må settes sammen etter en meget streng syntaks. Eksempelvis kan et komma der det skulle vært punktum få store konsekvenser. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Vi kan betrakte datamaskinen som ”lagdelt” Grafisk vindussystem tekstlig brukergrensesnitt, mange mulige kommandoer, hver av dem svarer til flere kjerne-kommandoer Kommandoskall Kjerne et lite antall kommandoer som jobber direkte med innmaten i datamaskinen fopen, fclose C: \ DOS> dir Skillet mellom lagene er ikke like tydelig i alle systemer. I noen systemer er skillet så godt at man uten videre kan skifte mellom f.eks. flere vindussystemer. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Et lite program (en applikasjon) • Vi skriver inn programmet som ren tekst. • Vi kan ikke legge inn formatering, f.eks. kursiv, forskjellige størrelser på bokstaver, etc. • Vi bruker derfor ikke en tekstbehandler, men en teksteditor, når vi skriver inn programmer. Notisblokk er én teksteditor, WinEdit en annen, og TextPad en tredje: Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
filnavn samme som klassenavnet, med etternavn java Programmet SkrivTekst.java /* * SkrivTekst.java VBH 1999-06-23 * * Skriver ut tekst mange ganger. * */ class SkrivTekst { public static void main(String[] args) { System.out.println("Vårt første program..."); for (int i = 0; i < 10; i ++) System.out.println("Nå skal vi lære Java!"); } } klassenavn kommentarer skriv en linje Vårt første program... Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! gjennomfør det som kommer etterpå 10 ganger resultat fra kjøring av programmet Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Fra kildekode til kjørbart program • Programkoden vi skriver inn kalles kildekode. • Det er en god vane å legge kildekoden på en fil med samme navn som klassen. Mange verktøy krever at det er slik. Filnavnet må ha endelsen java. Her: SkrivTekst.java. Pass på store og små bokstaver. • Java-programmer må oversettes til bytekode. • Bytekoden kan kjøres på mange forskjellige typer maskiner. • Nødvendig når appleter lastes ned fra Internett. • Java-tolkeren oversetter til aktuell maskinkode. • Programmer skrevet i andre programmeringsspråk oversettes ofte direkte til maskinkode (det språket som mikroprosessoren benytter). Kildekode, HeiVerden.java Bytekode, HeiVerden.class. class HeiV... public static ... #¤¤£@&%#¤#¤() Kompilering Kjøring med tolker Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Hvordan kjøre programmet (applikasjonen)? • Vi trenger • Et program som oversetter fra kildekode til bytekode: javac.exe • Et program som tolker bytekode, og sørger for at programmet blir kjørt: java.exe - (Java-tolkeren). • I et MS-DOS-vindu: • Antar at filen SkrivTekst.java ligger på katalogen c:\javaprogrammer. • Flytt til denne katalogen: • c:\windows>cd c:\javaprogrammer • c:\javaprogrammer> javac SkrivTekst.java • c:\javaprogrammer> java SkrivTekst • Kjøreresultatet kommer i et MS-DOS-vindu,og ser slik ut (æ, ø og å ser egentlig litt ”rare” ut): • I et verktøy/editor: • Mange editorer lar deg kompilere og kjøredirekte fra det vinduet der du skriver inn teksten. Vårt første program... Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! Nå skal vi lære java! I boka, nederst side 36, står det at du må skrive source1.5 etter javac. Dette er ikke nødvendig fra og med versjon beta2 av kompilatoren. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Livsløpet til programmer • Problemanalyse • Hvilke oppgaver skal programmet kunne utføre? Hvilke ytre rammer legger begrensninger på systemet? Krav til maskinvare og arbeidsmiljø? • Resultat: Kravspesifikasjonen. Kravspesifikasjonen er en kontrakt mellom oppdragsgiver og den som skal lage systemet. • Vi sammenligner med husbygging: Hva ønsker beboerne? Hvilke krav stiller kommunen og naboene? Hva slags hus passer på den tomta som er valgt osv. • Design • Hvordan skal lage programmet?Nå skal alle problemer knyttet til programskrivingen løses. Vi må vite at det er mulig å lage programmet. • Jamfør husbygging: Bestem størrelsen på grunnflata, antall etasjer, grovskisse av romfordelingen osv. Bestem detaljene i romstrukturen. Innredning av kjøkken og bad. • Overgang til programkode (implementasjon) • Skriv programkoden. Prøv ut mindre deler underveis. Etter at enkeltdelene er testet, tester vi ut hele programsystemet. • Jamfør husbygging: Bygg huset etter tegningene. Bygningskontrollen passer på at byggingen skjer etter tegninger og forskrifter. • Installasjon og testing • Programsystemet installeres hos oppdragsgiver og testes ut der. • Jamfør husbygging: Beboerne flytter inn. De har ofte en garantiperiode på ett år overfor byggefirmaet. • Vedlikehold • Alle program som brukes trenger å vedlikeholdes. Brukeren oppdager ting han ønsker annerledes, eller nye funksjoner skal legges inn. Feil må rettes opp. • Jamfør husbygging: Rom må tapetseres om, røropplegg må skiftes ut osv. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Hva med objektene? • Verden rundt oss består av objekter. • Objektene i problemanalysefasen • Program for en bank: kontoer og kunder er objekter. • Program for et idrettslag: Medlemmene og konkurransene er objekter. • Objektene i designfasen • Beskriver objektene ved å oppgi data og adferd. Eksempler: • kontonavn, kontonummer og slado • det skal være mulig å sette inn og ta ut penger • Spesifiserer dataformater og detaljerer atferden. Eksempler: • navn skal deles i fornavn og etternavn, eventuelle melommnavn er en del av fornavnet • innskudd krever opplysninger om beløpet som skal settes inn • Objektene i implementasjonsfasen • Beskriver objektene i et kodespråk som datamaskinen forstår Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Å lage et program er en prosess • En iterativ prosess • Det å bygge hus og det å lage programmer er ofte en iterativ prosess. • Det betyr at vi gjør erfaringer på et nivå som medfører at vi må gå tilbake og gjøre endringer på et tidligere nivå. • Det kan vise seg at arkitektens romfordeling er umulig å få til. Arkitekttegningene (designet) må forandres. Tilsvarende kan det være programløsninger som er umulig å implementere. • En inkrementell prosess • Dette betyr at man gjør helt ferdig en del av systemet før man fortsetter med en annen del. • Spesielt aktuelt dersom ny og ukjent teknologi tas i bruk. Da gjennomløper man trinn 1-4 for den mest kritiske delen av systemet først. • Inkrementell utvikling kan også bety inkrementelle leveranser og dermed kan oppdragsgiver ta i bruk deler av systemet av gangen. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Tre typer Java-programmer • For programmering av web • Når du henter en web-side over Internett, overføres siden fra en tjenermaskin (maskinen der siden ligger) til en klientmaskin (din maskin). • Du leser web-siden ved hjelp av et program som kalles en nettleser (f.eks. Netscape eller Microsoft Explorer). • Appleter • Siden kan referere til en (litt spesiell) programfil som ligger på tjenermaskinen. • Programfilen overføres til klientmaskinen, og web-leseren kjører programmet. Et slikt program er en applet og ligger på en fil med etternavn class. • Servleter • Dette er programmer som kjører på tjenermaskinen. Programmet lager siden som sendes til deg, der og da, og aktiviseres når tjeneren mottar din forespørsel. • En slik side kan for eksempel vise resultatet av et databasesøk. • JavaServer Pages (JSP) er en teknologi som forenkler produksjonen av slike sider. • Applikasjoner • Dette er ”vanlige program”, har ikke noe med Internett å gjøre. • Har ikke etternavn exe, men class. • Kjøres ved hjelp av et program som heter java. • De aller fleste programmene i denne boka er applikasjoner. Appleter og JSP er tema for henholdsvis kapitlene 18 og 21. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Å kjøre en applet • En HTML-fil må inneholde en referanse til appleten: • <APPLET CODE="EnkelApplet.class" CODEBASE="." WIDTH=400 HEIGHT=300></APPLET> • Anta at HTML-filen heter EnkelApplet.html. Den kan kjøres på flere måter: • Med programmet appletviewer: • Fra MS-DOS-ledetekst: >appletviewer EnkelApplet.html • Fra verktøy: Du har applet-kildekoden i vinduet. Du ber om kompilering og kjøring av denne. Da blir det gjerne laget en meget enkel html-filen automatisk, og denne kjøres med appletviewer. • appletviewer viser bare appleten, ikke det som ligger rundt denne i web-siden. • Filen kan åpnes i en nettleser ved at du klikker på den: • D:\temp\EnkelApplet.html • Filen kan hentes fra en web-tjener (”Lenker” på bokas hjemmeside): • http://www2.tisip.no/boker/java/eksempler/EnkelApplet.html Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.
Før du går videre må dugjøre deg kjent med det verktøyet duskal bruke for å lage Java-programmer.Foreta eventuell nedlasting og installasjon,dersom dette ikke allerede er gjort for deg. Se vedlegg A.Sørg for at du får programmet på side 31| i boka til å fungere, slik at utskriftenblir som vist på side 33.Dersom du bruker SDK fra Sun, følg f.eks. oppskriften side 35-36.Finn fram til bokas web-side og gjør deg kjent med den. Last ned løsningene til småoppgavene. Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, 3.utgave, Stiftelsen TISIP og Gyldendal Akademisk 2004.