INF 1000 (uke 2) Variabler, tilordninger og uttrykk

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

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

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

INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september

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

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

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

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

INF1000 : Forelesning 1 (del 2)

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

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

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

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

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

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

Kapittel 1 En oversikt over C-språket

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

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

UNIVERSITETET I OSLO

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

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

Forelesning inf Java 4

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

Del 3: Evaluere uttrykk

Programmeringsspråket C

Repetisjon INF 1000 våren 2006

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

Del 1 En oversikt over C-programmering

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

INF 1010, vår 2005 Løsningsforslag uke 11

Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter

Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004

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

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

INF1000 (Uke 6) Mer om metoder, tekster

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

Rep: Metoder. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. 3 typer variable: Klassevariable. Java-programmene så langt i kurset:

Oversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner

INF1000 : Forelesning 4

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

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

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

INF1000 : Forelesning 3

Blokker og metoder INF1000 (Uke 6) Metoder

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

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

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

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

Repetisjon Program. INF1000 Uke 2. Repetisjon Program Prosedyren main Alt inne i klasser. Repetisjon Variable og uttrykk

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

Forelesning inf Java 5

Forelesning inf Java 5

Python: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre

UNIVERSITETET I OSLO

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

Mål for INF1000. Repetisjon INF 1000 våren Representasjon av data. Programvareutvikling - oversikt

Introduksjon til objektorientert programmering

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

Kapittel 8: Programutvikling

MAT-INF 1100: Obligatorisk oppgave 1

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

INF 1000 høsten 2011 Uke 3 6. september

In105 Programmering i Java de første skritt

Forelesning inf Java 2

Forelesning inf Java 2

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

INF1000 (Uke 6) Mer om metoder, tekster

Innhold uke 3. INF 1000 høsten 2011 Uke 3 6. september. Uttrykk. Variabel: En plass i hukommelsen

Jentetreff INF1000 Debugging i Java

UNIVERSITETET I OSLO

Orakeltjeneste på Abel Hjelp til Obligatorisk oppgave 2. INF1000 (Uke 6) Mer om metoder, tekster. Rep: Metoder. Rep: Metoder

Eksempel: Body Mass Index (BMI)

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

Forelesning inf Java 3

Velkommen til. INF våren 2016

MAT-INF 1100: Obligatorisk oppgave 1

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

Løse reelle problemer

Innlesning fra tastatur med easyio. INF1000 høst Vi må først skrive i toppen av programmet: import easyio.*;

Innhold. Forord Det første programmet Variabler, tilordninger og uttrykk Innlesing og utskrift...49

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

Hvis en person har inntekt < , så betaler han 10% skatt på alt, og ellers betaler han 10% skatt på de første og 30% på resten.

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

Oversikt. INF1000 Forelesning 6. Variable Deklarasjon. Variabel en plass i lageret int radius;

Løsningsforslag ukeoppg. 3: sep (INF Høst 2011)

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 14.

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

UNIVERSITETET I OSLO

INF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)

Øvingsforelesning 1 Python (TDT4110)

Repetisjon: operatorene ++ og -- Java 5. Nøtt. Oppgave 1 (fra forrige gang) 0 udefinert udefinert. Alternativ 1 Prefiks-operator

INF1000 : Forelesning 2

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

INF1000: Forelesning 4. Mer om arrayer Metoder

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Transkript:

INF 1000 (uke 2) Variabler, tilordninger og uttrykk Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset

I dag skal vi se på Flere praktiske opplysninger Litt repetisjon Hva er en variabel i et program? Deklarasjoner og variabeltyper Tilordning Flere detaljer i Java-språket 23.01 2006 2

Gruppene starter denne uken! Hjemmesida http://www.ifi.uio.no/inf1000/v06 Sjekk tider for din gruppe Ukeoppgaver (fra bok + ekstra) 23.01 2006 3

Klart for første oblig Tilgjengelig på hjemmesida Frist 3. februar kl. 16.00 Alle obligene er lagt ut på hjemmesida. På hver oblig står det når du har lært nok for å løse obligen samt innleveringsdato. 23.01 2006 4

Rep: Programmering Et program er en rekkefølge av enkle ordrer Ordrene utføres av datamaskinen - en for en, fra første til siste ordre Vi må spesifisere ordrene i et programmeringsspråk 23.01 2006 5

Rep: Java Java-programmer skrives i Java-språket Streng, men enkel grammatikk Må følges 100% Må oversettes til maskinlesbar kode Gjøres ved å kompilere java-programmet class Utskrift { public static void main(string[] args) { System.out.println("Beethoven komponerte Skjebnesymfonien"); } } 23.01 2006 6

Rep: Java-programmer Java-kode skrives inn i en editor (Emacs) Java-kode (.java -fil) oversettes av kompilatoren ( javac ) til maskinlesbar kode (.class -fil) Kompilert kode (i.class -fil) kjøres av kjøreprogrammet ( java ) Prosessen (editering kompilering kjøring) er stort sett den samme for alle språk! 23.01 2006 7

Nytt stoff Variabler Tilordninger Uttrykk 23.01 2006 8

Data Alle problemer innholder data som beskriver problemet Søking i Ibsens skuespill? Trenger å lagre en rekke tekster i hovedhukommelsen Lage værmelding? Trenger å lagre en rekke tall i hovedhukommelsen (bl.a data fra vær-observasjonene) Slike data (tall, tekster,..) må vi ha i programmet vårt Setter av egne, navngitte plasser i programmet 23.01 2006 9

Variabler Disse plassene kalles variabler og har tre egenskaper: Et navn (entydig) En type (hva slags data kan variabelen lagre? F.eks. en tekst, et heltall, et desimaltall, ) Et data-innhold, en verdi som variabelen skal lagre (ikke entydig, kan endres senere i programmet) 23.01 2006 10

Program = Data + Handlinger Setninger i et program er av tre typer: Sett av plass til data Gjør noe med data (regne, skrive ut, ) Kommentarer som gjør det lettere å lese programmet 23.01 2006 11

Kommentarer Ignoreres av oversetter og kjøreprogram (utføres ikke) I Java: Linjekommentarer startet med to skråstreker // Alt etter // på en linje blir kommentaren Avsnittskommentar starter med /* og slutter med */. Alt mellom /* og */ blir kommentaren uansett hvor mange linjer kommentaren er. 23.01 2006 12

Data + handlinger (+ kommentarer) Eksempel (del av et program): // Nå skal vi telle studenter int antall; antall = 100; Kommentar ignoreres av maskinen Utfører handling (tilordning) som setter verdien 100 inn i minneplassen for antall Setter av lagerplass for et heltall (integer) i hukommelsen, refereres ved navn antall 23.01 2006 13

To enkle programmer To eksempler på mer eller mindre enkle Java-programmer Renteberegning Forslag til fornavn Mer om reglene for å lage (enkle) Java program 23.01 2006 14

Programvareutvikling - oversikt 1. Først har vi et problem vi skal løse (en oppgave) 2. Finn en fremgangsmåte (=algoritme) for problemet 3. Hvilke data beskriver problemet / algoritmen? 4. Skriv et Java-program, syntaktisk korrekt Kompiler og rett opp eventuelle feilmeldinger 5. Test ut programmet, sjekk at det gir riktig svar Gjøres ved å kjøre programmet på små eksempler hvor vi vet svaret, programmet kjøres først når det er ferdig testet på de ekte dataene. 23.01 2006 15

Problem 1: Renteberegning 1. Du setter 120 000 kr. i banken. Du får 6.25% rente første året, og 7 % rente andre året. Skriv ut hvor mye du har i banken etter første og andre året 23.01 2006 16

Renteberegning fortsatt Hvordan løse det: 2. Kan vi en formel for renteberegning? 3. Hvilke data beskriver problemet? 4. Skrive kode 5. Test 23.01 2006 17

Problemanalyse Renteberegningsformel: ny kapital = gammel kapital * (1+rente) Hvilke data har vi i problemet? Innskudd, dvs gammel kapital Rentesats for 1. og 2. år 23.01 2006 18

Har forståelsen, trenger program Program: 1. Deklarere data 2. Skrive handlingssetninger, inkludert utskrift 3. Skrive kommentarer i koden 23.01 2006 19

Rente-programmet, fyll ut public class Rente { public static void main ( String[] args) { } } 23.01 2006 20

Program 1 Rente-programmet public class Rente { public static void main ( String[] args) { double rente; double kapital = 120000; // rente første år rente = 6.25/100; kapital = kapital + kapital*rente; System.out.println( Kapital etter første år: " + kapital); } } // rente andre år rente = 7.0/100; kapital = kapital + kapital*rente; System.out.println( Kapital etter andre år: " + kapital); 23.01 2006 21

Kompilering og testing >javac Rente.java >java Rente Kapital etter første år: 127500.0 Kapital etter andre år: 136425.0 23.01 2006 22

Problem 2: Navneforslag Herr Jensen er nybakt far og vil at junior skal ha tre fornavn: Kai, Ole og Georg. Lag en nummerert liste over alle mulige navn-kombinasjoner av disse slik at herr Jensen kan velge den beste 23.01 2006 23

Problemanalyse Har vi her en metode? Hvor mange muligheter er det? Hvilke data trenger vi? Navnene? 23.01 2006 24

Program 2 - Navn public class Navn { public static void main ( String[] args) { String k = Kai ; String o = Ole ; String g = Georg ; System.out.println( ); } } 23.01 2006 25

Program 2 - Navn public class Navn { public static void main ( String[] args) { String k = Kai ; String o = Ole ; String g = Georg ; // det er 6 mulige kombinasjoner av 3 navn } } System.out.println( 1. + k + + o + + g + Jensen ); System.out.println( 2. + k + + g + + o + Jensen ); System.out.println( 3. + o + + k + + g + Jensen ); System.out.println( 4. + o + + g + + k + Jensen ); System.out.println( 5. + g + + o + + k + Jensen ); System.out.println( 6. + g + + k + + o + Jensen ); 23.01 2006 26

Kompilering og testing >javac Navn.java >java Navn 1. Kai Ole Georg Jensen 2. Kai Georg Ole Jensen 3. Ole Kai Georg Jensen 4. Ole Georg Kai Jensen 5. Georg Ole Kai Jensen 6. Georg Kai Ole Jensen 23.01 2006 27

Litt mer Java Deklarasjoner double int Handlingssetninger, tilordning Utskrifts-setningen System.out.println(... ); 23.01 2006 28

Heltall og desimaltall (flyttall ) Datamaskiner håndterer disse på forskjellig måte Heltall er alltid eksakte, mens desimaltall har bare en viss nøyaktighet 23.01 2006 29

Deklarasjoner double, int Desimaltall deklareres med double Eksempel: double høyde, volum; Heltall deklareres med int Eksempel: int antallbiler; int antallfuglereder; 23.01 2006 30

Deklarasjoner - double, int En deklarasjon lager en variabel Setter av plass i hurtiglageret I den plassen kan vi lagre verdier av den deklarerte typen (dvs. int, double,...) Variabelen (lagerplassen) får det navnet vi gir den i deklarasjonen. Navnet er entydig. 23.01 2006 31

Variabler - konvensjoner Variabler har liten bokstav først i navnet Består navnet av flere ord skrives det slik: int antkunder, antallboksermaling; Når en variabel først er deklarert, kan den brukes mange ganger, og verdien kan endres mange ganger 23.01 2006 32

Handlingssetninger, tilordning Tilordningsetninger (v.s. = h.s.;) gir en ny verdi til en variabel På venstre side (v.s.) står navnet til en variabel Tegnet = leses: settes lik På høyre side (h.s.) står et regnestykke, verdien regnes ut 23.01 2006 33

Tilordning, fortsatt Forekommer det navn på variabler i regnestykket, bruker vi verdien av disse i utregningen Eksempel: int i, j, k = 2; i = 14; j = i + 22; j = j + 1; i = i + k; j = 10* j + i; 23.01 2006 34

Spesialnotasjon: ofte brukte operasjoner j++; //det samme som j = j+1; j--; //det samme som j = j-1; j *= 22; //det samme som j = j*22; j += a; //det samme som j = j+a; j -= 14; //det samme som j = j-14;... (flere etter samme mønster) 23.01 2006 35

Utskrifts-setningen System.out.println( Litt utskrift: + i + + s + dd ); Det som står inne i parentesen skrives ut på skjermen Flere ledd kan skjøtes sammen med + 23.01 2006 36

Mer utskrift Det som skjøtes sammen kan være: String-konstanter eks: Renta er, Forslag til navn: String deklarasjoner Eksempel: String s = Simen ; int (heltall) blir da omgjort til String int i har fått verdien 1023. Da blir i omgjort til en String bestående av sifrene 1, 0, 2, 3 double (desimaltall) blir omgjordt til String med sifre før og etter punktum (evt. til en String med eksponent hvis tallet er for stort eller lite) Eksempel: double dd = 0.2345; 23.01 2006 37

Flere Java-detaljer Alle de 50 ordene i Java (reserverte ord) Konstanter Uttrykk Logiske uttrykk Pakker og Java klassebibliotek Tre typer feil 23.01 2006 38

De 50 reserverte ordene i Java abstract default goto new synchronized boolean do if package this break double implements private throw byte else import protected throws case extends instanceof public transient catch false int return true char final interface short try class finally long static void const float native super volatile continue for null switch while 23.01 2006 39

Addisjon (+) har mange virkemåter Mellom to heltall gir + en heltallsaddisjon, 2 + 2 Mellom to flytende tall gir + en desimaltallsaddisjon, 2.5 + 3.14 Mellom et heltall og et flytende tall gir + en desimaltalls-addisjon: 2 + 3.14 Mellom to tekststrenger gir + en sammenskjøting (konkatenering) av strengene Hallo + verden 23.01 2006 40

Overlasting av operatorer At en operator har ulik virkning avhengig av operandene, kalles overlasting (av operatoren) 23.01 2006 41

Java er et sterkt typet språk Variablene deklareres til å lagre verdier av en bestemt type Eksempel: int sum; Oversetteren kontrollerer At verdiene som inngår i regnestykker er av riktig type At typen av uttrykket på høyre side av en tilordning stemmer med typen av variabelen på venstre side Eksempel: int sum; sum = 3.14 + 0.2; gir syntaksfeil 23.01 2006 42

Casting Konvertering ( casting ) av en verdi fra en type til en annen er av og til mulig (detaljer senere) Implisitt: double ti; ti = 10; Eksplisitt: int sum; sum = (int) 3.14; 23.01 2006 43

Deklarasjoner og variabeltyper Type Forklaring Eksempel Lovlige verdier byte heltall byte b = 101; -128 til 127 short heltall short s = -10002; -32768 til 32767 int heltall int i = 0; -2147483648 til 2147483647 long heltall long l = 2000000L; -9223372036854775808L til 9223372036854775807L float desimaltall float f = 0.25F; ca ±3.40282347 E+38F (6 til 7 signifikante desimaler) double desimaltall double d = 3.14; ca ±1.79769313486231570 E+308 (15 signifikante desimaler char tegn char c = a ; alle ASCII tegn boolean sannhetsverdi boolean b = true; true, false 23.01 2006 44

Navn på variable Alltid liten forbokstav Alltid kun et ord Må begynne på en bokstav Kan så inneholde bokstaver, tall, _ Bruk stor bokstav ved ny stavelse, eksempel: int antalldageriuka = 7; double x1, x2, sirkelareal; 23.01 2006 45

Konstanter final int DUSIN = 12; final int SNES = 20; final int GROSS = 144; final int MAX_ELEVER_PR_KLASSE = 20; Kan ikke endres etter at de har fått første verdi pga. Java-ordet final Bruker bare store bokstaver (for å vise at dette er konstanter) 23.01 2006 46

Evaluering av numeriske uttrykk Eksempel: double x = 3 * (a+1.3)/4+ 4 a+b/c; Regnes ut fra venstre mot høyre, men: Først metodekall Så regnes all parenteser ut Så alle ++ og Så * og / Så + og 23.01 2006 47

Parenteser Bruk heller parenteser hvis det er vanskelig double x = 3 *( (a+1.3)/4 ) a +(b/c); 23.01 2006 48

Logiske variabler og uttrykk boolean c, b; b = i < 5; // i er mindre enn 5 c = (j!= 5); // j inneholder ikke verdien 5; System.out.println( Er i større enn 5 + b); 23.01 2006 49

Pakker og Java-klassebibliotek double d = Math.sqrt(23); I et eget Java-bibliotek er det over 2000 ferdigprogrammerte klasser Med unntak av en samling av mye brukte klasser, (pakken java.lang ), må vi importere en slik samling av klasser hvis vi vil bruke noen av dem 23.01 2006 50

Pakker og Java-klassebibliotek Vi har hittil brukt biblioteksklassene : Math og System som begge er i java.lang Skal vi bruke noen andre klasser i andre pakker må disse importeres. I toppen av programmet må vi da ha en import-setning: Eksempel: import easyio.*; 23.01 2006 51

Tre muligheter for feil 1. Syntaks-feil Vi skriver programmet galt, grammatikk-feil Finnes av kompilatoren, javac 2. Algoritme-feil Vi har brukt gal løsningsmetode. Programmet løser ikke problemet Kan finnes ved å konstruere små eksempler hvor løsningen er kjent. Kjør programmet på disse. 3. Kjøre-feil Programmet stopper under utførelse 23.01 2006 52

Feil nr. 1 hvilken? // Program med FEIL! public class EnkeltProgram1 { public static void main ( String[] args) { int radius; double areal; radius = 4; areal = 3.14 * radius * radius } } System.out.println("Sirkel, radius: " + radius + ", areal: " + areal); 23.01 2006 53

Oversetterens svar på feil nr 1 > >javac EnkeltProgram1.java EnkeltProgram1.java:10: ';' expected ^ 1 error > 23.01 2006 54

Feil nr 2 hvilken? // Program med FEIL! public class EnkeltProgram2 { public static void main ( String[] args) { int radius; double areal ; radius = 4; areal = 3.14 * radius; } } System.out.println("Sirkel, radius: " + radius + ", areal: " + areal); 23.01 2006 55

Kompilerering og test av EnkeltProgram2 >javac EnkeltProgram2.java >java EnkeltProgram2 Sirkel, radius: 4, areal: 12.56 > Feil i formelen for areal av sirkel, skal være areal = 3.14*radius*radius 23.01 2006 56

Feil nr. 3 hvilke(n)? // Program med FEIL! public class EnkeltProgram3 { public static void main ( String[] args) { int radius = 0; double areal ; areal = radius/radius*3.14; } } System.out.println("Sirkel, radius: " + radius + ", areal: " + areal); 23.01 2006 57

Feil 3 >javac Enkeltprogram3.java >java EnkeltProgram3 Exception in thread "main" java.lang.arithmeticexception: / by zero at EnkeltProgram3.main(Enkeltprogram3.java:8) > Feil i formelen for areal av sirkel, skal være areal = 3.14*radius*radius Divisjon med null, udefinert operasjon! 23.01 2006 58

Oppsummering - variabler En variabel deklareres i programmet, og vi får da en plass i lageret med Et navn En type En verdi 23.01 2006 59

Oppsummering - variabelnavn Navn på variabler bør begynne med liten bokstav Stor bokstav for hvert ord i variabelnavnet (antallbarn) Variabelnavnet kan ikke være likt noen av de reserverte ordene i Java-språket 23.01 2006 60

Oppsummering - tilordning Eksempel: i = j*3 +i ; Venstre side (i) er navnet på en variabel som skal få ny verdi Høyresiden (j*3 +i) er et regnestykke Variabelnavn (som j og i) erstattes med deres nåværende verdi 23.01 2006 61

Oppsummering - uttrykk Tre typer uttrykk som ofte forekommer: Numeriske uttrykk Logiske uttrykk Streng-uttrykk 23.01 2006 62