Forelesning inf Java 1

Like dokumenter
Forelesning inf Java 1

Forelesning inf Java 1

som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing.

Litt Java-historikk. Litt Java-historikk. Ulike varianter for ulike behov. Litt Java-historikk. The Green Team

INF1000 : Forelesning 1 (del 2)

Java. INF1000 : Forelesning 2. Ulike varianter for ulike behov. Java Standard Edition (Java SE) Java:

i=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4

Forelesning inf Java 4

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

INF1000 : Forelesning 4

i=0 i=1 Repetisjon: nesting av løkker INF1000 : Forelesning 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker j=0 j=1 j=2 j=3 j=4

Forelesning inf Java 5

Forelesning inf Java 5

Tre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Litt mer om uttrykk: ++ og -- INF1000 : Forelesning 4. Oppgave. Blokker. 0 udefinert udefinert. Alternativ 2 Postfiks-operator

Hvordan installere Java og easyio på Windows

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

Kort repetisjon av doble (nestede) løkker Mer om 1D-arrayer Introduksjon til 2D-arrayer Metoder

Java 3. Litt om Java-teknologien. Fortsette innføringen i språket Java Idag: variable, uttrykk, lese fra terminal, forgreninger. 31.

Java. Java 3. Ulike varianter for ulike behov

for (int i=0; i<3; i++) { for (int j=0; j<5; j++) { System.out.print(i*j); System.out.println();

Hvordan laste ned og installere Java på Windowsplattformen

Body Mass Index (BMI) INF1000 : Forelesning 3. Ferdig program (forts.) Ferdig program

Fra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr

Ukeoppgaver 1: 30. aug 3. sep (INF Høst 2010)

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

INF1000 : Forelesning 3

Java 4. Mer om easyio Mer om forgreninger Løkker. 7. september 2004

Fra Python til Java, del 2

Forkurs INF1010. Dag 1. Andreas Færøvig Olsen Tuva Kristine Thoresen

Løsningsforslag ukeoppg. 2: 31. aug - 6. sep (INF Høst 2011)

INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.

Ole Christian Lingjærde, 12. september 2013

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Forelesning inf Java 4

Dagens tema Kapittel 8: Objekter og klasser

INF1000 (Uke 4) Mer om forgreninger, While-løkker

Kapittel 1: Datamaskiner og programmeringsspråk

I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Eksempel: Body Mass Index (BMI)

Eksempel: Body Mass Index (BMI) Forelesning inf Java 3. Ferdig program (første del) Ferdig program (siste del)

Praktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

IN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr

Velkommen til. INF våren 2016

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

INF1000: Forelesning 4. Mer om arrayer Metoder

MER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:

Litt administrativt. Informatikk studiet og INF1000. Etter denne forelesningen skal du. INF1000: Grunnkurs i objektorientert programmering

UNIVERSITETET I OSLO

Forelesning inf Java 3

INF1000: Forelesning 11. Oppgave 2. Oppgave 1. Husk å melde deg på prøveeksamen i INF1000! Ole Christian Lingjærde 7.november 2006

Kom i gang med programmering i Java

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl

MAT-INF 1100: Obligatorisk oppgave 1

To måter å programmere på. Java 12. Programmering med objekter. Statisk programmering

Lese fra fil. INF1000 : Forelesning 5. Eksempel. De vanligste lesemetodene. Metoder:

UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet

Blokker og metoder INF1000 (Uke 6) Metoder

Kapittel 1: Datamaskiner og programmeringsspråk

2 Om statiske variable/konstanter og statiske metoder.

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

Leksjon 2. Setninger og uttrykk

Leksjon 2. Setninger og uttrykk

Blokker. Uke 4, INF 1000, 13 sept Løkker og arrayer. Eksempel. Deklarasjoner inne i blokker. Institutt for Informatikk Universitet i Oslo

INF1000 : Forelesning 5

Forelesning inf Java 3

Installere JBuilder Foundation i Windows XP

MAT-INF 1100: Obligatorisk oppgave 1

Oblig4 - forklaringer. Arne og Ole Christian

Java. INF1000- uke 3. Ulike varianter for ulike behov

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter denne uken! Klart for første oblig

Praktisk informasjon. I dag. Repetisjon: While-løkker. INF1000 (Uke 5) Mer om løkker, arrayer og metoder

Oversikt. Uke 2, INF 1000, 30 aug Variable, tilordninger og uttrykk. Repetisjon: Java programmering

Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF Høst 2011)

En klasse er noe - en metode gjør noe (! / # <= (! * +!! ",-' %. "- -/ %.!#) )! " 0'%! * *$! "1-)) '' % '. 22!'( 7/ /! * 2 2! "*"% 8"%% 9 - -!

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

I dag. Rep: Oppsummering - variabler. Rep: Datatyper. INF1000 (Uke 3) Mer om uttrykk, terminal I/O, forgreninger

Mer om uttrykk, terminal I/O, forgreninger. Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo

1. NetBeans IDE: Lage en enkel mobilapplikasjon

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

INF 1000 (uke 2) Variabler, tilordninger og uttrykk

Oppgave 1. Oppgave 2. Oppgave 3. Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Prøveeksamen i INF1000. Ole Christian og Arne. 23. november 2004

Oversikt. Hva er programmering & Java forkurset til INF1000. Hva er en datamaskin. Arne Maus Inst for Informatikk Univ. i Oslo

INF1010 våren januar. Objektorientering i Java

I dag skal vi se på. INF 1000 (uke 2) Variabler, tilordninger og uttrykk. Gruppene starter i dag! Klart for første oblig

INF 1000 (uke 2) Variabler, tilordninger og uttrykk

Inf1000 uke 5 18.sept. 2007

Forelesning inf Java 5

Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO

Transkript:

Forelesning inf1000 - Java 1 Tema: Javas historie Bestanddelene i et Java-program Programvariabler Ole Christian Lingjærde, 22. august 2012

Litt Java-historikk The Green Team I 1991 opprettet Sun Microsystems en arbeidsgruppe som jobbet nærmest døgnet rundt i 18 måneder i Menlo Park i California for å forberede den neste bølgen innen computing. James Gosling Resultat: Programmeringsspråket Oak En demo for en interaktiv fjernkontroll for hjemmeunderholdningsssystemer. Poenget var å vise hvordan man kunne styre digitale "dingser" som spillkonsoll, digital kabel-tv (video on demand), osv. Ideen ble ingen suksess. Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 2

Litt Java-historikk Framveksten av Internett Rundt midten av 90-tallet kom Internett for fullt, og Java-teamet brukte Oak-teknologien til å lage en nettleser i 1994 som de kalte WebRunner (etter filmen Blade Runner). Nettleseren ble senere omdøpt til HotJava. Første nettleser med dynamisk innhold og animasjon. Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 3

Litt Java-historikk Java 1.0 Ble annonsert i 1995. Med Java menes: Et programmeringsspråk En programpakke (JDK) som må være installert på maskinen din før du kan utvikle/kjøre Java-programmer. Java er gratis og siste versjon kan til enhver tid lastes ned fra javasoft.com. Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 4

Ulike varianter for ulike behov Java Card Java Embedded Java for Mobile Devices Java SE Standard Edition Java EE Enterprise Edition INF 1000 Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 5

Java Standard Edition (Java SE) To sentrale begreper: Java Runtime Environment (JRE) System for å kjøre kompilerte Javaprogrammer. Java Development Kit (JDK) JRE + system for å utvikle Java- programmer (kompilere, feilsøke, dokumentere, m.m.) I tillegg til dette kan man legge til egne pakker som gir økt funksjonalitet. I INF1000 brukes det en slik pakke, med navn easyio. Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 6

Installasjon av Java på egen maskin For å installere Java på egen maskin: TRINN 1: Installere Java SE Development Kit Se følgende nettsted: http://www.mn.uio.no/ifi/tjenester/it/hjelp/startpakke/ På siden finner du egen lenke til programvare for INF1000. Merk: Java følger med Mac OS X. TRINN 2: Installere INF1000-pakken easyio Tilleggsfunksjonalitet som benyttes i undervisningen. Kan hentes fra samme nettsted som ovenfor. For mer om easyio, les appendiks A i læreboka Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 7

Kompilere, kjøre MittProgram.java MittProgram.class... javac MittProgram.java... java MittProgram... KOMPILERE... KJØRE (EKSEKVERE) Programfil Kompilert program (lages av deg i en ("class-fil") teksteditor) Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 8

Kompilere og kjøre i Linux, Windows, Mac OS X 1. Åpne et terminalvindu/kommandovindu 2. Endre filområde (directory) til der programfilen ligger 3. Kompiler med javac MittProgram.java 4. Kjør med java MittProgram Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 9

Bestanddelene i et Java-program Alle programmer må starte med class (det kan stå public foran) Dette er programmets navn og kan velges fritt av oss Her starter innmaten i programmet class MittProgram { public static void main (String[] args) { int u; u = 2; } } Forteller at programmet er kjørbart Her slutter innmaten i programmet Her er instruksjonene i programmet Mer om denne linjen senere - men merk at vi alltid trenger den Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 10

Eksempel: Utskrift på skjerm Program som produserer utskrift i kommandovinduet: class MittProgram { public static void main (String[] args) { System.out.println("Velkommen til UiO"); System.out.print("og velkommen til "); System.out.println("INF 1000"); } } Test programmet Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 11

Eksempel 2: Utskrift på skjerm Her kommer utskriften i et eget vindu: import javax.swing.*; class MittProgram2 { public static void main (String[] args) { } } JOptionPane.showMessageDialog(null, "Velkommen til UiO"); Test programmet Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 12

Merk Instruksjoner i Java følger en presis syntaks. Spesielt interesserte kan finne Java Language Specification her (dette er ikke pensum): http://docs.oracle.com/javase/specs/ Trykkfeil (f.eks. at det står clas i stedet for class) vil gjøre at instruksjonen ikke blir forstått, eller (verre) at den gjør noe annet enn det som var intensjonen. Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 13

Variabler (minneplasser) Vi kan reservere plass i datamaskinens hukommelse til et heltall: int lengde; slutt på instruksjonen sett av plass til et heltall (engelsk: integer) gi plassen navnet "lengde" Vi kan fylle plassen (= variabelen) med en verdi: lengde = 14; Vi kan senere avlese/bruke verdien: int svar; svar = lengde * 2; leses "settes lik" eller "gis verdien" Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 14

Variabler Etter at vi har reservert plass i minnet til en variabel, f.eks. slik: int lengde; så kan vi endre verdien til variabelen så mange ganger vi vil, f.eks.: lengde = 14; lengde = 434; lengde = lengde + 2; lengde = lengde; Hva skjer egentlig når vi skriver lengde = lengde + 2;? I detalj: 1. Verdien som ligger i variabelen lengde hentes fram (f.eks. 434) 2. En ny verdi regnes ut ved å legge til 2 (434 + 2 = 436) 3. Variabelen lengde gis den nye verdien (436) Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 15

Variabel-deklarasjoner Instruksjoner av typen int alder; int vekt; int personnummer; kalles variabel-deklarasjoner. Vi kunne erstattet de tre instruksjonene ovenfor med: int alder, vekt, personnummer; (NB: komma mellom variablene) Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 16

Variabeldeklarasjoner Variable kan deklareres hvor som helst i et program, og de kan endres hvor som helst etter at de er deklarert. Variable har ingen verdi rett etter en deklarasjon: int lengde; lengde = lengde + 1; // Ulovlig! Vi kan gi variable en verdi når vi deklarerer dem: int lengde = 4; lengde = lengde + 1; // Lovlig Vi kan også vente med å gi en variabel verdi: int lengde;... lengde = 4; lengde = lengde + 1; // Lovlig Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 17

Neste gang Mer om programvariable og beregningsuttrykk Forgreninger i programmer (if-else) Litt Input/Output (I/O) Fram til da: Gjør deg kjent med kurssidene Husk frivillig mini-forkurs nå på torsdag/fredag Studiestragegikurs torsdag 14.15-16.00 Obligatoriske gruppetimer starter mandag/tirsdag Les pensum FØR forelesningen Ole Chr. Lingjærde Institutt for informatikk 22. august 2012 18