Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Relevanta dokument
F4. programmeringsteknik och Matlab

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Övning2. Variabler. Data typer

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

TDDC77 Objektorienterad Programmering

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

SMD 134 Objektorienterad programmering

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

OOP Objekt-orienterad programmering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

Klassdeklaration. Metoddeklaration. Parameteröverföring

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Objektorienterad Programmering (TDDC77)

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

OOP Objekt-orienterad programmering

TDIU01 - Programmering i C++, grundkurs

Programmering A. Johan Eliasson

Föreläsning 2 - Intro till Java

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Programmering för språkteknologer I, VT2012. Rum

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

OOP Objekt-orienterad programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

Föreläsning 2, vecka 8: Repetition

Föreläsning 3-4 Innehåll

Anteckningar 1: Grundläggande saker

Tentamen ID1004 Objektorienterad programmering May 29, 2012

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

OOP Objekt-orienterad programmering

TENTAMEN OOP

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Föreläsning 3: Booleans, if, switch

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Typkonvertering. Java versus C

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Tentamen OOP

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

Objektorienterad Programmering (TDDC77)

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

Språkkonventioner och redigering av tal.

Tentamen , Introduktion till Java, dtaa98, dtea53

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

[] Arrayer = Indexerad variabel

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

JAVAUTVECKLING LEKTION 4

Läsanvisning: Dessa OH bilder samt kap 1-3

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

TENTAMEN OOP

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

TDIU01 - Programmering i C++, grundkurs

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

Att skriva till och läsa från terminalfönstret

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

DD1314 Programmeringsteknik

Objektorienterad Programmering (TDDC77)

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 6: Metoder och fält (arrays)

Objektorienterad programmering i Java

Tentamen ID1004 Objektorienterad programmering December 15, 2012

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Föreläsning REPETITION & EXTENTA

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Lösningsförslag till omtentamen för TDA540 Objektorienterad Programmering

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Enkla datatyper minne

Programmering för språkteknologer II, HT2011. Rum

Objektorienterad programmering i Java

Kompilera och exekvera Javakod

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

OOP Objekt-orienterad programmering

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Transkript:

Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk för att datorn ska kunna slutföra det. Översättningen görs m.h.a kompilatorn. Men för att kompilatorn ska kunna översätta så måste programmets olika delar följa språkets regler och syntaxform. 1 2 Kompilering och exekvering Kompilatorn har följande uppgifter: 1. Kontrollera att programmet har följt språkets regler och syntaxform. 2. Översätta koden till det språk som kan användas av datorn och spara i en ny fil. Man säger att man har kompilerat koden. (Det gör man med kommandot javac) När kompileringen inte ger några felmeddelande det betyder att man kan exekvera (köra) filen som skapats av kompilatorn.(java) 3 En kompilerbar och körbar java-kod class ProgEtt{ System.out.println( java är enkel ); 4 Kompileringsfel Variabel, datatyp och litteral Följande program ger följande kompileringsfel class ProgEtt{ String mening= java är enkel ; System.out.println(mining); progett.java:4: error: cannot find symbol System.out.println(mining); ^ symbol: variable mining location: class ProgEtt 1 error 5 Variabel är en identifierare i ett program som representerar en plats i datorns minne. I Java finns det flera olika datatyper. T.ex: 2, 2, 2, 3.14 Litteral är ett angivet värde i ett program. 6 1

Primitiva datatyper byte short int long double float Char boolean Datatyper Referens datatyper String Scanner System Integer Double Boolean Deklarering, tilldelning och initiering Deklarering av variabler betyder att man talar om för daton vilken datatyp variabeln kommer att ha under hela programmet. Tilldelning är då en variabel får ett värde. Initiering är då en variabel får sitt absolut första värde. 7 8 Namngivning av variabler Följande konvension för namngivning av variabler används i java. Första tecknet på namnet är gemen. Om variabelnamnet består av flera ord, första tecknet på alla ord förutom det första ska vara versal. Integer ålder ; ålder = 12; Double längd = 1.70; Deklaration av ålder Initiering av ålder Deklaration och initiering av längd på samma gång 9 10 Reserverade ord Följande ord är reserverad och får (ska) inte användas som identifierare. abstract boolean break byte (byvalue) case (cast) catch char class (const) continue default do double else extends false final finally float for (future) (generic) (goto) if implements import (inner) instanceof int interface long native new null (operator) (outer) package private protected public (rest) return short static super switch synchronized this throw throws transient true try (var) void volatile while 11 Sats och block Ett program består av en eller flera satser. En sats i java avslutas med ; och i vissa fall inom ett block { Block { används bl.a. för att flera satser ska hålla ihop. När en sak är gemensam för flera satser som kommer efter varandra. 12 2

Utskrift satser System.out.print( ) En sats som skriver ut parameternsvärde. System.out.println( ) En sats som skriver ut parameternsvärde och byter automatiskt rad fteråt. Inläsning från tangentbord import java.util.scanner; class FintNamn{ Scanner tgb = new Scanner(System.in); System.out.print( Vad heter du? ); String namnet = tgb.nextline(); System.out.println(namnet + är ett fint namn ); 13 14 Op Operatorer Op Styrstrukturer + x+y += x+=2, x+=y - y-x -= x-=3, x-=y * x*y!!isempty / x/y *= x*=2, x*=y ++ x++ eller ++x /= x/=2, x/=y -- y-- eller --y % x%y == x==y!= x!=y 15 Java kod exekveras radvis och sekventiell. Med hjälp av styrstrukturer kan man ändra den sekventiella exekveringen. Några exempel på styrstrukturer är: if, if-else, for, while, do-while 16 if-sats if-else Problem: Skriv ett program som frågar efter pris på boken och skriver ut dyr bok, ingen affär om det priset är mer än 500:- else använder man tillsammans med en if-sats när man vill göra ett val mellan två olika saker. : Skriv ett program som frågar efter bokenspris och skriver ut dyr, ingen äffär om priset är mer än 500 kr annars skriver programmet ut 17 18 3

Slinga (loop) Slingor eller loop används då man vill en sak ska upprepas ett antal gånger. I java finns det for-slingor och whileslingor för detta ändamål Skriv ett program som frågar efter användarens ålder. om användaren matar ett in tal mindre än 20 då ska texten skrivas ut: tyvärr, men du är välkommen när du blir 20 Detta upprepas tills användaren matar in ett tal större eller lika med 20. Då ska skrivas ut på skärmen Välkommen till systembolaget. och därefter programmet avslutas. 19 20 For-sats while sats for-sats består av följande delar 1.for 2.(A;B;C) A är oftast deklaration och initiering av variabel B är ett villkor-sats (Condition) C oftast är en stegning-sats 3. uttryck (statement) for ( Integer i=0 ; i< 10; i++) { System.out.println( Java är enkelt ); while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) Integer i=0; while (i<10) { System.out.println( programmering är kul ); i++; 21 22 while-sats består av följande delar: 1. do 2. uttryck 3.while 4.Villkor-sats (condition) Integer i=0; do-while sats do { System.out.println( programmering är kul ); i--; while (i>10); 23 Skriv ett program som läser in ett heltal från tangentbordet hela tiden och kontrollerar om talet är positiv eller negativ. Skriv ett program som skriver ut alla udda nummer mellan 1-99 inklusive 1 och 99. 24 4

Skriv ett program som frågar efter användarens ålder. om användaren matar ett in tal mindre än 20 då ska texten nedan skrivas ut: tyvärr, men du är välkommen när du blir 20 Detta upprepas tills användaren matar in ett tal större eller lika med 20. Då ska skrivas ut på skärmen Välkommen till systembolaget. och därefter programmet avslutas. API:n API står för Application Programming Interface. Är egentligen en samling av datatyper som underlättar programmeringen. Det finns en bra dokumentation på nätet där kan man få fram information om hur man använder en viss klass och dess metoder. 25 26 Indexerade variabler Det förekommer ofta att programmeraren inte har någon aning om antal data som användaren kommer att använda som indata till programmet. Programmet ska inte behöva modifieras om användaren eller antal indata ändras. Därför finns det indexerade variabler som vi oftast kallar de vektorer. Array (Hakvektor) Beteckningen [ ] betyder att vi har med en array att göra. I en variabel av typen String kan man bara lagra ett namn åt gången men i en variabeln av typen String[] (man läser String-array eller array av String) kan man lagra flera namn samtidigt. Hur? 27 28 String kursbeteckning = oop15 ; String[] kursbeteckningar =new String[3]; kursbeteckningar[0]= oop15 ; kursbeteckningar[1]= Matematik I ; kursbeteckningar[2]= Matematik II ; Storlek på en array Varje array har ett attribut som är av typen int och visar antal element i arrayen String[] kursbeteckningar = new String[3]; int storlek = kursbeteckningar.length; OBS! blanda inte attributen length med metoden length() Som finns i klassen String 29 30 5