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



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

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

F4. programmeringsteknik och Matlab

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

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

TDDC77 Objektorienterad Programmering

Programmering A. Johan Eliasson

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

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

Språkkonventioner och redigering av tal.

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit

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

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

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

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Objektorienterad Programmering (TDDC77)

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

Lösningsförslag till tentamen FYTA11 Javaprogrammering

Kapitel 6. Kapitel 6. Hakparenteser fšr att ange index float[] priser = new float[500]; frekvens[4] boolean[] flaggor;

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

SMD 134 Objektorienterad programmering

TENTAMEN OOP

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

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

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

Objektorienterad Programmering (TDDC77)

Tentamen OOP

Högskolan Dalarna sid 1 av 5 Data-avdelningen Hans-Edy Mårtensson

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

Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes

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

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

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

TENTAMEN OOP

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

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

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag aug - 23 Tentamen i Objektorientering och Java Skrivtid 5 h

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Objektorienterad Programmering (TDDC77)

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

1 Programmering i Java. Program element - Introduktion. Exempel. Exempel. Kapitel 3:

JAVA Mer om klasser och objektorientering

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

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.

DAT043 Objektorienterad Programmering

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Föreläsning 2 - Intro till Java

Objektorienterad Programmering (TDDC77)

Datalogi I, grundkurs med Java 10p, 2D4112, Tentamen 29 november 2003, svar och lösningar

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel

Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

Javaprogrammering - Del 1. Kursupplägg. Hello world. Kompilera. Kör. Environmentvariabler. föreläsningar övningar 1, 2, 3 och 4 INLÄMNINGSUPPGIFT 2

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

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

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

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

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

FactoryCast HMI. Premium & Quantum PLC. Applets

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

OOP Objekt-orienterad programmering

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

Konstruktion av klasser med klasser

JAVAUTVECKLING LEKTION 7

Omtentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Klassdeklaration. Metoddeklaration. Parameteröverföring

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else

OOP Objekt-orienterad programmering

Dugga i Grundläggande programmering STS, åk

Lösningar för tenta 2 DAT043,

DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU

2D1339 Programkonstruktion för F1, ht 2004

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

Parallellism, återblick

Objektorienterad programmering i Java. Föreläsning 5 Kort om Java-Applets

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

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

The Last Adventure. Innehåll. Objektorientering. Språket Java. Java - Paket. Java - synlighet. Den sista lektionen. Repetition.

Lösningsförslag tentamen FYTA11 Java

Tentamen Programmering fortsättningskurs DIT950

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

Tentamen LÖSNINGSFÖRSLAG. c) Tilldelningen C x = new D() ger kompileringsfel eftersom klassen D är abstrakt.

Objektorienterad programmering i Java Undantag Sven-Olof Nyström Uppsala Universitet Skansholm: Kapitel 11

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

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

2D1342 Programkonstruktion för F1, ht 2006

OOP Omtenta

Föreläsning 8: Exempel och problemlösning

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

Transkript:

Strukturerad programmering l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll 1 2 Olika ansatser Begrepp Den manipulativa/imperativa ansatsen Pascal, Modula-2, Cobol, Basic, ADA... Den funktionella/applikativa ansatsen ML, Miranda, Haskell Den relationella ansatsen Prolog Den objektorienterade ansatsen : Ð Strukturen hos en applikation Ð GrundlŠggande program element Ð Att kšra ett program Ð Stšd fšr programvarukonstruktion Ð applets, C++, Simula, Smalltalk 3 4 Fšrsta programmet //Prints a quote from Abraham Lincoln class Lincoln public static void main (String[] args) System.out.println(ÓWhatever you are, be a good oneó); Kšrningen }//main }//class Lincoln 5 6 1

s Programstruktur Blanka Ett program utgšrs av en eller flera klasser En klass utgšrs av en eller flera metoder En metod innehœller program satser En applikation exekverar/utfšr alltid metoden main Blanktecken, blanka rader och tabbar ignoreras Formatteringen kan všljas pœ mœnga olika sštt Jmfr Lincoln2.java och Lincoln3.java LŠsligheten underlšttas av konsistent indentering 7 8 Kommentarer Identifierare inline documentation Identifierare namn pœ olika storheter Fšrklarar syftet med programmet och beskriver hšndelsefšrloppet I finns tvœ sštt att kommentera: Vissa identifierare Šr fšrdefinierade Identifierare fœr innehœlla bokstšver (ej Œ,Š,š), siffror, understrykningstecknet (_), och dollar tecknet // Kommentaren ršcker raden ut FŒr ej inledas med siffra /* kommentaren ršcker till den avslutande symbolen, Šven šver radbrytningar */ Šr case sensitive, medfšr att Total och total Šr olika identifierare 9 10 Reserverade ord VŠrden De reserverade orden fœr inte Šndras explicita všrden av en viss typ abstract boolean break by te 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 Heltals-vŠrden: 25 69-4288 Flyttals-vŠrden: 3.14159 42.075-0.5 StrŠng-vŠrden: ÓResultatet = " ÓVŠlkommen till mitt kanonprogram!ó 11 12 2

API API (Application Programmer Interface ) Šr en samling klasser Metoderna println och print ingœr i API; och inte i sprœket sjšlvt Utskriftsmetoderna Ð println gšr en radframmatning Ð print gšr inte det Se exempel s.41 Countdown.java StrŠngkonkatenering StrŠngar Ð System.out.println(ÓDetta ŠrÓ + ÓstrŠngarÓ); Ð System.out.println(ÓDetta Šr talet = Ó + 123); + funktion beror pœ operanderna + numeriska operander ger vanlig aritmetik 13 14 Programmerings sprœk Fyra nivœer: MaskinspprŒk a ss em bler HšgnivŒsprŒk kompilatorn šversštter till byte Inte maskinsprœk fšr en specifik CPU interpretatorn, šversštter byte till maskinkod och exekverar fjšrde-generationens sprœk sšgs vara plattforms-oberoende 15 16 source byte Kompilera i vœr miljš : > javac Lincoln.java interpreter Byte Skapar filen Lincoln.class, som kan exekveras med: > java Lincoln Integrerad miljš t.ex. JBuilder Machine 17 18 3

Command Line Arguments //Visar ett exempel pœ parametrar till programmet public class ComLinArgs public static void main (String[] args) System.out.print(ÓFšrsta argumentet Šr : "); System.out.println(args[0]); }//main }//class ComLinArgs Kšrning Metoden main kan ges argument i kommandot > java ComLinArgs JŠttekul Dessa všrden kallas command line arguments Argumenten betraktas som en lista av stršngar 19 20 Klass bibliotek Importera Packages En klass kan nœs med : API Šr ett klass bibliotek Klasserna i API Šr uppdelade i packages Klassen System finns i paketet java.lang java.lang.system.out.println (); Éeller paketet kan importeras : import java.applet.*; import java.util.random; java.lang importeras automatiskt till alla program 21 22 Klasser och Objekt Klassdiagram Fig 2.9 s. 60 Fig. 2.10 s.61 Objects Class My first car Vehicle Car John's car Car Airplane Train Dad's car 23 24 4

Applets En applikation Šr ett komplett program applet - program som skickas šver nštet och exekveras av Web-lŠsare Applikationer har en metod main, applets har inte det Applets hšrleds frœn klassen java.applet.applet LŠnkar till applets kan lšggas i HTML dokument See Confucius.java and No_Parking.java // Skriv ut en stršng i en applet import java.awt.*; import java.applet.applet; public class EnkelApplet extends Applet public void paint( Graphics g ) g.drawstring( "Hejsvejs!", 30, 30 ); }// metod paint }// klass EnkelApplet Exempel 25 26 <title>enkel applet</title> <hr> HTLM-filen <applet =ÓEnkelApplet.class" width=200 height=200> Applets local computer </applet> <hr> source byte <a href=óenkelapplet.java">kšllkoden.</a> remote computer Web browser interpreter 27 28 5