Leksjon 2. Setninger og uttrykk

Like dokumenter
Leksjon 2. Setninger og uttrykk

Leksjon 3. Kontrollstrukturer

Leksjon 3. Kontrollstrukturer

Leksjon 2. Setninger og uttrykk

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Leksjon 2. Setninger og uttrykk

Leksjon 7. Filer og unntak

EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

INF1000 : Forelesning 1 (del 2)

Leksjon 6. Objekt. Evt. importsetninger. public class Klasse { Konstruktør. Objektmetoder. Innkapsling (private): set-og get-metoder

6108 Programmering i Java. Leksjon 4. Metoder. Roy M. Istad 2015

Leksjon 3. Kontrollstrukturer

Leksjon 4. Metoder. Program, klasse og metode

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

6108 Programmering i Java. Leksjon 5. Tabeller. Roy M. Istad 2015

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

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

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

INF 1000 høsten 2011 Uke september

INF1000 undervisningen INF 1000 høsten 2011 Uke september

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

EKSAMENSFORSIDE. Emnenavn: Programmering i Java Tid fra / til: 10:00-14:00. Fakultet: Handelshøyskolen Antall vedlegg: 1

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

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

INF 1000 (uke 2) Variabler, tilordninger og uttrykk

Leksjon 3. Kontrollstrukturer

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

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

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

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

Høgskolen i Telemark EKSAMEN 6108/6108N PROGRAMMERING I JAVA Alt trykt og skriftlig materiale.

Forelesning inf Java 1

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

Blokker og metoder INF1000 (Uke 6) Metoder

Del 1 En oversikt over C-programmering

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. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut

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

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

Klasser, objekter, pekere og UML. INF gruppe 13

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

2 Om statiske variable/konstanter og statiske metoder.

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

Forelesning inf Java 5

Forelesning inf Java 5

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

Kapittel 15: Grafiske brukergrensesnitt: Enkel GUI. Del I

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

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

INF1000 (Uke 15) Eksamen V 04

INF1000 (Uke 15) Eksamen V 04

INF1000 : Forelesning 4

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

Øvingsforelesning 1 Python (TDT4110)

Innhold Forst a program

Hva er tabeller? Tabell (array): Sammensetning av verdier av samme datatype, under ett navn i hurtigminnet.

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

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

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

UNIVERSITETET I OSLO

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

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:

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

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

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

2 Om statiske variable/konstanter og statiske metoder.

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

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag

INF1000 (Uke 6) Mer om metoder, tekster

Programmeringsspråket C

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

Kapittel 15: Grafiske brukergrensesnitt: Enkel GUI. Del I

Ukeoppgaver 2: sep (INF Høst 2010)

Kapittel 1 En oversikt over C-språket

INF 1000 høsten 2011 Uke 3 6. september

Dagens tema Kapittel 8: Objekter og klasser

Forelesning inf Java 1

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

løsningsforslag-uke5.txt

UNIVERSITETET I OSLO

3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster

Forelesning inf Java 1

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

Introduksjon til objektorientert programmering

Eksamensrelevant repetisjonsstoff. Deklarasjoner og variabeltyper. Konstanter

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

INF1000: Forelesning 6. Klasser og objekter del 1

INF1000 Behandling av tekster

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

INF1000 (Uke 6) Mer om metoder, tekster

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

Velkommen til. INF våren 2016

Seminaroppgaver IN1010, uke 2

Transkript:

6108 Programmering i Java Leksjon 2 Setninger og uttrykk Del 1 Roy M. Istad 2015 Variabel Verdi Datatype Navnsatt lagringsplass. (Tenk: Oppbevaringsboks). Innholdet i en variabel. (Tenk: Klosse). Hvor mye plass skal avsettes til en verdi, og hvordan skal den lagres, avleses og brukes? (Tenk: Utforming, fasong) 6108 Programmering i Java Leksjon 2 side 2 1

Deklarasjon: int x; double y; Deklarasjon og tilordning i Java Tilordning: x = 10; y = 3.14; Oppretter variabel Setter verdi Initiering: "Deklarasjon + Tilordning" F.eks: int x = 10; double y = 3.14; 6108 Programmering i Java Leksjon 2 side 3 Datatyper Hvorfor bruke datatyper? robuste program redusert minnebruk raskere program Les mer på side 40 41 Primitiv datatype int double char boolean (heltall) (desimaltall) (enkelttegn) (logisk verdi) Objektdatatype String (tegnsekvens) 6108 Programmering i Java Leksjon 2 side 4 2

Tilordningssetninger Ny verdi til variabel som har verdi fra før, f.eks.: x = 5; Kopiering: int z = x; Variabelen har ikke noe mer hukommelse (ingen back up), tallet 10 er nå borte fra x! 2 1 3 6108 Programmering i Java Leksjon 2 side 5 Eksempel: Programmets tilstand Ombytting av innholdet i to variabler int x = 5; // x er lik 5 int y = 8; // x er lik 5, y er lik 8 Første forsøk: x = y; // x er lik 8, y er lik 8 y = x; // x er lik 8, y er lik 8!! Utsnitt av hurtigminnet (før ombytting) 5 8 x?? y 5 8 x y 6108 Programmering i Java Leksjon 2 side 6 3

Eksempel: Ombytting av innholdet i to variabler Programmets tilstand Utsnitt av hurtigminnet (før ombytting) int x = 5; // x er lik 5 int y = 8; // x er lik 5, y er lik 8 5 x 8 y Andre forsøk: int h = x; x = y; y = h; // x er lik 5, y er lik 8, h er lik 5 // x er lik 8, y er lik 8, h er lik 5 // x er lik 8, y er lik 5, h er lik 5 5 h 6108 Programmering i Java Leksjon 2 side 7 Tegnsekvenser String //Deklarasjon + tilordning String navn = "Agnete"; // Eksempel på utskrift out.print("hei "); out.println(navn); out.println("**********"); Utskrift til konsollet Hei Agnete ********** Konkatenering Sekvenssammensetning: out.println("hei " + navn); Obs! Én ny tegnssekvens 6108 Programmering i Java Leksjon 2 side 8 4

Utskrift via dialogvindu og String // Hente bibliotekressurs import static javax.swing.joptionpane.*; String navn = "Agnete"; showmessagedialog(null, "Hei " + navn); null: dette vinduet er nytt og uavhengig (null avhengig) av andre vinduer som måtte være åpne. Hei Agnete // Alternativ: import javax.swing.*; : : JOptionPane.showMessageDialog(null, "Hei " + navn); // Tungvint, langt uttrykk å skrive..., glem det nå i starten 6108 Programmering i Java Leksjon 2 side 9 Innlesing via dialogvindu og String String innnavn = showinputdialog("gi et navn:"); Variabelen "innnavn" viser til, eller peker på tegnsekvensen "Ole" O l e En variabel kan gjenbrukes, også en String variabel, i det samme programmet: innnavn = showinputdialog("gi et annet navn:"); NB! Dersom brukeren av programmet nå skriver Anna, så er "Ole" borte: Alternativet er å bruke to variabler, innnavn og innannetnavn, så har vi tilgang til både "Anna" og "Ole" 6108 Programmering i Java Leksjon 2 side 10 5

Syntaks for et lovlig Java navn: Lage egne navn (ord) i Java Hva menes med «bokstav»? a å, A Å Eksempel: Lovlige navn? Ulovlige navn? Lav bindestrek y 2tall ettotall tull fil.java Q&A enbil nr2c Ida-Marie Nei! MAX_VALUE år1 enbil 6108 Programmering i Java Leksjon 2 side 11 Lage egne navn i Java Hva skal navnsettes i et program? Program (class) Metoder (main) Variabler og konstanter (konstanter: "låst" variabler) Klasser (egne datatyper) og objekt (variabler av klasse type) Anbefalinger Bruk meningsfylte navn (både lettere å lese og forstå koden) Variabler og metoder starter med en liten bokstav Flere ord sammensatt til ett ved at påfølgende ord starter med stor bokstav Konstanter skrives med store bokstaver (med lav bindestrek som ordskiller) Klassenavn (program) starter med stor bokstav 6108 Programmering i Java Leksjon 2 side 12 6

Variabeldeklarasjoner: String fornavn; String etternavn; Lage egne navn i Java int antallbarn, antallepler; double mva = 0.25; double nkrbeløp, usdollar; // Alternativt: // String fornavn, etternavn; Klassedeklarasjon (programnavn): public class Kassalapp { // Skal ligge på filen: Kassalapp.java } 6108 Programmering i Java Leksjon 2 side 13 Konstantdeklarasjoner: Lage egne navn i Java Konstant: Låst variabel innsatt verdi kan ikke endres (final) final double MVA = 0.25; // momsen er nå 25% final int MIN_ALDER = 18; // aldersgrense for å kjøre bil final char SKILLETEGN = '#'; Java biblioteket har også konstanter, vi kan bruke verdier via navn, f.eks. Math.PI // Slipper: 3.14159265 Integer.MAX_VALUE // Største heltallsverdi Hvorfor bruke konstanter? gjør koden mer lesbar reduserer mulighetene for feil gjør program lettere å endre og lettere å vedlikeholde. 6108 Programmering i Java Leksjon 2 side 14 7

Uttrykk og verdier int y = x+3; // x er 4, y er 7 int x = 2+2; // x er 4 Anonym konstant: Konkret verdi i koden. Her heltallene 2 og 3 Fig. 2.14, side 53 6108 Programmering i Java Leksjon 2 side 15 Uttrykk og verdier int y = x+3; // x er 4, y er 7 y = y*2; // y er 14 Fig. 2.15, side 54 6108 Programmering i Java Leksjon 2 side 16 8

Utskrift via dialogvindu og String String uttxt = "Svar: " + dobbel; showmessagedialog(null, uttxt); // Krever import! Teksten får et tillegg (skøytet på). Ikke + for addisjon mellom tall! Verdien i variabelen dobbel blir automatisk omgjort (konvertert) til en tegnssekvens (ny String) før den skøytes på ledeteksten "Svar". 6108 Programmering i Java Leksjon 2 side 17 1) Første steg: Innlesing via dialogvindu og String String talltxt = showinputdialog("gi et tall:"); // Krever import! 2) Andre steg: int tall = parseint(talltxt); // Krever import static java.lang.integer.*; 6108 Programmering i Java Leksjon 2 side 18 9