Java Sommarkurs. Institutionen för datavetenskap. Här sitter vi. Kursen kontaktpersoner utbildningsprogram
|
|
- Mats Björn Abrahamsson
- för 6 år sedan
- Visningar:
Transkript
1 Institutionen för datavetenskap Java Sommarkurs Jürgen Börstler Thomas Johansson Marie Nordström utbildningsprogram Datavetenskap Teknisk datavetenskap C:a 80 anställda (5 professorer) Forskning inom många olika ämnen Teknisk-vetenskapliga o parallella beräkningar Medicinsk informatik Kognitionsvetenskap Flera forskningscentra Kognitionsvetenskap Interaktion och design Programvaruteknik Teoretisk datalogi MDI... HPC2N VR-Lab Interactive Institute Java--SU01 jubo, marie, thomasj@cs.umu.se, Kursen kontaktpersoner Här sitter vi Studentexpeditionen Inga Bohman (inga, 5598) Anne-Lie Persson (anne-lie, 6130) Studievägledare Peter Stenberg (peter, 6985) Support Magdalena Kågström (support, 9950) Kursens lärare Jürgen Börstler (jubo, 6735) Marie Nordström (marie, 7708) Thomas Johansson (thomasj, 6259) Vä Ex MN TJ JB Su Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
2 Här finns labsalarna Kursens mål Kunskaper om problemlösning och programmering Färdighet i datoranvändning och programmering i Java Kännedom om begrepp, metoder och hjälpmedel för programkonstruktion Datorlab Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Lektioner Datorövningar Obligatoriska uppgifter Individuell handledning Studie Kursens uppläggning Två olika sätt att förmedla stoffet Samma innehåll totalt Gemensamma föreläsningar Olika datorövningar Grupp 1: Objekt och design tidigt Grupp 2: Vår beprövade ansats Grupp 3: Deltar ej i övningarna Examination 3 obligatoriska uppgifter Teoriprov Praktikprov Regelbundet deltagandet viktig! Lunch på Björken Java--SU01 jubo, marie, thomasj@cs.umu.se, Kursmaterial Kursbok Lewis/Loftus: Java Software Solutions, 2nd edition, Addison- Wesley, OBS! Vi följer inte bokens upplägg till punkt och pricka OH bilderna från föreläsningen (finns på websidan) Diverse material som kommer att delas ut så småningom Hemsidan: Java--SU01 jubo, marie, thomasj@cs.umu.se,
3 Innehåll Programvaruutveckling Programvaruutveckling och programmering OOP snabbintroduktion Triangel exemplet Datatyper Uttryck Satser Arv Polymorfi Interfaces Metodik i programvaruutveckling Fält Undantag Filer och in-/utmatning Grafik GUI:s Design (CRC) Rekursion Applets Vitsen med att skriva ett program är att lösa ett problem Typiska steg för att lösa ett problem: Första problemet Dela in problemet i hanterliga delar Skissa och konsra en lösning Fundera på alternativa lösningar Förfina lösningen Realisera lösningen Testa lösningen och åtgärda alla fel Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Programmering Programmering är att formulera en lösning till ett problem i ett programspråk. Känt problem Känd lösning Känt programspråk Problemlösning m h a datorer 0. Lös problemet 1. Skriv ett program som löser problemet 2. Mata in programmet i datorn 3. Exekvera programmet 4. Läs av resultatet Programmering är inte ett sätt att komma fram till en lösning. Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
4 Programmering i Java Kodning är bara en liten del i programvaruutvecklingen programmering <fil>.java Java programkod översättning compiler exekvering <fil>.class Java bytekod exekvering exekvering 67% 6% 1% 6% 5% 7% 8% Analys Planering Design Kodning Testning Integration Underhåll Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Sent upptäckta fel blir dyra att åtgärda Problemlösning igen Olika studier IBM AS/400 (1994) 368 Många projekt misslyckas, eftersom utvecklarna inte till fullo förstår problemet som ska lösas Alla antaganden måste klargöras Möjliga feltolkningar måste undanröjas Kravinsamling Analys Planering Design 10 Kodning Integration Underhåll När problem blir större, måste lösningen delas in i hanterliga delar Denna teknik är fundamental för programvaruutveckling I objektorienterad utveckling delas lösningen in i så kallade objekt och klasser Java är ett objektorienterad språk Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
5 Innehåll Objekt Programvaruutveckling och programmering OOP snabbintroduktion Triangel exemplet Datatyper Uttryck Satser Arv Polymorfi Interfaces Metodik i programvaruutveckling Fält Undantag Filer och in-/utmatning Grafik GUI:s Design (CRC) Rekursion Applets Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt, gripbart, synligt ting (t ex en specifik person) Abstrakt ting (t ex en tid eller en kurs) Varje objekt har ett tillstånd, ett beteende och en identitet. Tillståndet beskriver objektets egenskaper (t ex adress och ålder hos en person) Beteendet beskriver vad objektet kan göra (t ex flytta). OBS! Detta kan innebära att tillståndet ändras Identiteten skiljer ett objekt från alla andra objekt Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Klass Objekt vs klass En klass är en byggplan för objekt av samma sort. Alla objekt av en klass (instanser) har samma sorts egenskaper och beteendet En klass beskriver en mängd liknande objekt namn ålder address flytta... Person namn egenskaper (attribut) beteende (metoder) bigyellowtriangle smallbluetriangle height width xposition yposition color Triangle changecolor changesize move... Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
6 Ett programspråk specificerar ord och symboler som får användas för att skriva program regler som bestämmer hur ord och symboler får sättas ihop Syntaxen beskriver hur giltiga programstrukturer (satser) måste se ut (se Appendix L i kursboken) Basic assignment Identifier = Programspråk Expression Semantiken beskriver vad precis olika satser betyder (dvs hur datorn ska tolka programmen) Värdet av uttrycket i expression tilldelas ( sparas i ) variablen identifier. Java--SU01 jubo, marie, thomasj@cs.umu.se, ; Identifierare och variabler Identifierare är namn på olika storheter som definieras av programmeraren Identifierare får innehålla bokstäver, siffror, understrykningstecknet (_), och valuta tecknen (t ex dollar tecknet) Identifierare får ej inledas med en siffra Identifierare måste vara entydiga Java är case sensitive, dvs Total är olika total Identifierare för värden eller objekt kallas variabler Identifier Java Letter Java Letter Java Digit Java Letter Java--SU01 jubo, marie, thomasj@cs.umu.se, a - z A - Z $ _ Java Digit 0-9 Reserverade ord får inte användas som identifierare Exempel på reserverade ord (det finns 59 sty): abstract boolean class const class extends float for Reserverade ord if implements import int import private public return static this void while Reserverade ord brukar visas i en annan färg i editorn Variabler och datatyper Variabler används för att spara data Variabler måste deklareras med datatyp och namn innan de får användas Basic Variable Declaration Primitive Type Identifier ; Class Type, En primitiv datatyp kan vara heltal (byte, short, int, long), flyttal (float, double), tecken (char) eller boolean En klasstyp är ett namn på en klass (t ex Triangle) Primitiva datatyper kallas också inbyggda datatyper Klasstyper kallas också användardefinierade datatyper Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
7 Tilldelning av värden En variabel innehåller antingen ett primitivt värde eller en referens till ett objekt Värdet av en variabel efter deklarationen är odefinierad Referenser som inte pekar till ett objekt har värdet null Variabler måste initialiseras En variabel tilldelas ett (nytt) värde genom = Basic assignment Identifier = Expression ; Exempel int value, discount; float net_price; value = 123; net_price = 123.0; discount = -15; net_price = 1.23e2; char acharacter; acharacter = A ; acharacter = \n ; boolean continue = ; Triangle bigyellowtriangle, smallbluetriangle; bigyellowtriangle =??? Hur skaffas objekt? Initialisering är tillåten i samband deklarationen! Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Skapa och manipulera objekt Varje klass har (minst) en konstruktor för skapa (nya) objekt (s k instanser) av denna klass Variabeln tilldelas en referens till objektet Konstruktorn används genom new operatorn Referenser vs värden Tilldelning har lite olika effekt för primitiva datatyper och klasstyper! Primitiva datatyper: Variabel själva värdet Klasstyper: Variabel = referens till objektet Triangle bigyellowtriangle = new Triangle(); Objektet manipuleras med hjälp av objektets metoder Kom ihåg: Metoderna definieras i klassen Klassnamn Attribut (egenskaper) Metoder (beteendet) int i1 = 5, i2 = 10; i1: 5 i2: 10 i2 = i1; i1: 5 i2: 5 Triangle t1 = new Triangle(); Triangle t2 = new Triangle(); t1 t2 t2 = t1; t1 t2 Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
8 Alias och garbage collection Innehåll Triangle t1 = new Triangle(); Triangle t2 = new Triangle(); t1 t2 t2 = t1; t1 t2 t2.changecolor ( red ); t1 t2 Ett objekt med flera namn; namnen kallas alias Objekt som inte längre kan nås; rensas bort automatiskt (garbage collection) Båda trianglar (t1 och t2) har blivit röda Var försiktig med aliasing Programvaruutveckling och programmering OOP snabbintroduktion Triangel exemplet Datatyper Uttryck Satser Arv Polymorfi Interfaces Metodik i programvaruutveckling Fält Undantag Filer och in-/utmatning Grafik GUI:s Design (CRC) Rekursion Applets Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Triangle height width xposition yposition color changecolor changesize move... Instantiering och manipulation Triangle atriangle = new Triangle(); atriangle.move(); atriangle.changecolor( blue ); atriangle.move(); atriangle.changesize(50, 100); En vanlig metodanrop ser ut så här <objektnamn>.<metodnamn> (<parameterlista>); Java--SU01 jubo, marie, thomasj@cs.umu.se, public class Triangle private int height; private int width; private int xposition; private int yposition; private String color; Triangle i detalj 1 /** * Create a new triangle at default position with default color. */ public Triangle()... height = 30; width = 40; xposition = 50; yposition = 15; color = "green"; draw(); Att göra attribut oåtkomliga är bra programmeringsstil Konstruktorn Kommentar Java--SU01 jubo, marie, thomasj@cs.umu.se,
9 Triangle i detalj 2 /** * Move the square a few pixels down. */ Kommentar public void move() erase(); // clear old position yposition = yposition + 100; // determine new position draw(); // draw on new position En metod /** * Change the size to the new size (in pixels). * PRE: Size must be >= 0. */ public void changesize (int newheight, int newwidth) erase(); height = newheight; width = newwidth; draw(); Parameter... Java--SU01 jubo, marie, thomasj@cs.umu.se, Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar variabel deklaration Class Body Java--SU01 jubo, marie, thomasj@cs.umu.se, Syntax: Basic Method Declaration Modifier Exempel: Metoddeklaration Type void Identifier Ej resultat Parameters Method Body public void changesize (int newheight, int newwidth) Parameter public float getarea ( ) Resultatets datatyp Parameter En metod kan ta noll eller flera parameter Varje parameter specificeras med datatyp och namn, de s k formella parametrar Antal, datatyperna och ordningen av de formella parametrar, metodnamnet och resultattyp kallas en metods signatur De s k aktuella parametrar i metodanropet måste vara kompatibelt med metodens signatur Exempel: atriangle.changesize (100, 50); atriangle.changesize (100); atriangle.changesize ( 1, 50); char c = atriangle.getarea (); // OK // fel antal // fel datatyp // fel datatyp Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
10 Parameteröverföring I Java överförs alla parameter by value Värdet på den aktuella parametern kopieras till den formella parametern (motsvarar tilldelningssats) När en referens överförs blir den formella parametern ett alias för aktuell parameter Return-satsen anger vilket värde som returneras (dvs överförs tillbaka) Överförs också by value Metodbody Innehåller lokala deklarationer & exekverbara satser Om resultattyp är inte void måste minst en returnsats finnas Exempel: public float getarea () float temp = 0.0; temp = height * width / 2; return temp; Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Konstruktordeklaration En konstruktor är en speciell metod Samma namn som klassen Ingen explicit resultattyp Används för att initialisera objektets attribut Får ha parameter, t ex för att påverka initialiseringen Exempel: public Triangle () Grafisk notation - int height - int width - int xposition - int yposition - String color Triangle + Triangle ( ) + changecolor (String newcolor) + changesize (int newheight, int newwidth) + move ( ) + float getarea ( ) + boolean isequilateral ( ) // liksidigt?... Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
11 Abstraktion, information hiding och inkapsling En abstraktion är en förenklad men trogen modell av nånting som kan vara väldigt komplicerat En objekt/klass är abstrakt i den meningen att vi inte behöver känner till alla detaljer för att kunna använda det Vi behöver t ex inte känna till koden till move Med information hiding menas att viss information görs oåtkomlig för användaren T ex för att säkerställa att xposition och yposition bara förändras på ett kontrollerad sätt (genom move) Med inkapsling menas att abstraktion och information hiding används för att definierar meningsfulla klasser Abstraktionen görs offentlig (public) Känslig och oväsentlig data görs oåtkomlig (private) Java--SU01 jubo, marie, thomasj@cs.umu.se, Programmeringsfel En dator gör inte det programmeraren menade, den gör precis det ett programs semantik föreskriver. Man kan skiljer tre typer av fel Kompileringsfel När kompilatorn upptäcker att syntaxreglerna ej har följts eller att vissa typer ej är kompatibla (t ex int i = c ;) Run-time fel När programmet kraschar när det körs, t ex pga division med noll eller att typer ej är kompatibla Logiska fel När programmet verkar fungera bra, men levererar fel resultat Java--SU01 jubo, marie, thomasj@cs.umu.se, Programvaruutveckling och programmering OOP snabbintroduktion Triangel exemplet Datatyper Uttryck Satser Arv Polymorfi Interfaces Innehåll Metodik i programvaruutveckling Fält Undantag Filer och in-/utmatning Grafik GUI:s Design (CRC) Rekursion Applets Primitiva datatyper: Hel- och flyttal De olika heltal och flyttal typer har olika storlek Kan ta upp olika värden med olik noggrannhet Typ byte short int long float double Storlek 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits Minimum ,768-2,147,483,648 < -9 x /- 3.4 x /- 1.7 x Maximum ,767 2,147,483,647 > 9 x med 7 signifikanta siffror med 15 signifikanta siffror Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
12 Primitiva datatyper: Tecken En variabel av datatypen char sparar precis ett s k Unicode tecken A character set is an ordered list of characters, and each character corresponds to a unique number Det finns 65,536 unika Unicode tecken (16 bit) med tecken och symboler från olika språk, t ex 'å' och 'ö' Alla tecken är ordnade och varje tecken motsvarar en siffra (detta underlättar att kolla om ett tecken ligger t ex mellan 'a' och 'z') Se Appendix C för detaljer Primitiva datatyper: Boolean En variabel av datatypen boolean innehåller antingen värdet eller värdet Används ofta för att definiera villkor logik Det finns tre logiska operatorer i Java inte (!), och (&&) och eller ( ) a!a a b a && b a b Java--SU01 jubo, marie, thomasj@cs.umu.se, back Java--SU01 jubo, marie, thomasj@cs.umu.se, Konstanter Innehåll Variabler som får inte ändras Markeras med reserverade ordet final Guideline: Använd bara stora bokstäver Exempel: final double PI = ; final char NEWLINE = \n ; Fördelar Vettiga namn istället för konstiga siffror eller tecken Lättare att förstå koden Enklare att uppdatera Programvaruutveckling och programmering OOP snabbintroduktion Triangel exemplet Datatyper Uttryck Satser Arv Polymorfi Interfaces Metodik i programvaruutveckling Fält Undantag Filer och in-/utmatning Grafik GUI:s Design (CRC) Rekursion Applets Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
13 Uttryck 1 Uttryck 2 Ett uttryck är en programkonstruktion som producerar (evalueras till) ett resultatvärde av en viss datatyp. Ett uttryck kan (bl a) vara: Ett primitivt värde (literal) -5, 1.23e2, c, En variabel smallbluerectangle, PI En metodanrop atriangle.changesize(50, 100); En tilldelning height = newheight Java--SU01 jubo, marie, thomasj@cs.umu.se, Ett uttryck är en syntaktiskt korrekt kombination av literaler, variabler, metodanrop, tilldelningar och operatorer. Typiska exempel på operatorer: Aritmetiska, t ex +, -, *, /, Logiska:!, &&, Relationala, t ex ==,!=, <, >=, Uttryck kan vara komplext Priotitetsordning för att bestämma hur det ska evalueras Se Appendix D för en fullständig lista Java--SU01 jubo, marie, thomasj@cs.umu.se, Prioritetsordning Exempel Operatorer med lägre prioritet evalueras först Vid samma prioritet avgör associativiteten hos operatorerna (vänster-höger / höger-vänster) Uttryck: Prioritetsordning: Evalueringsordning: Resultat: / 5-10 % 3 Använd parenteser för att vara på säkra sidan (5 + (12 / 5)) - (10 % 3) Uttryck * 4 / 2 3 * (3 * 13) * (13 + 2) 4 * (11-6) * ( ) (5 * (4-1)) / 2 Resultat Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
14 Uttryck 3 Innehåll Resultatvärdets datatyp hos ett uttryck beror på operatorn och datatyperna hos operanderna. Uttryck 17 / / 5 17 / / 12 9 / % 2 7 % % 2.5 Resultat int dollar = 25; float money; money = dollar; // OK, money blir 25.0 dollar = money; // FEL, typerna är // icke kompatibla Programvaruutveckling och programmering OOP snabbintroduktion Triangel exemplet Datatyper Uttryck Satser Arv Polymorfi Interfaces Metodik i programvaruutveckling Fält Undantag Filer och in-/utmatning Grafik GUI:s Design (CRC) Rekursion Applets Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Satser Satserna (statements) är grundinstruktionerna i ett programspråk. Block används för att grupperar satser sats; sats; OBS! Varje sats kan i sin tur vara ett block Sekvens Satserna exekveras en efter en Standard Urval Ordning på satserna Man väljer om satser ska exekveras eller ej If-sats, if-else-sats, switch-sats Repetition Satsen exekveras ett visst antal gånger while-loop, do-loop, for-loop Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
15 If-satsen Villkor if (villkor) sats; villkor sats Villkoret är ett uttryck Måste evaluera till / Ett s k boolskt uttryck Kan vara mer eller mindre komplicerat Exempel: i == j!(a > b) && (i == j+5-k) Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, If-else-satsen Switch-satsen if (villkor) sats1; else sats2; villkor switch (expression) case value1: sats1; break; case value2: sats2; break; Uttrycket måste vara heltal eller tecken Motsvarar nästade if-satser sats1 sats2 default: satsn; OPTIONAL Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
16 While-satsen Oändliga loopar while (villkor) sats; Gå runt i varv Villkoret evalueras på nytt före varje varv Satsen utförs/utförs inte en gång till Villkoret testas inte kontinuerligt Satsen utförs alltid helt villkor sats Det får hända att satsen exekveras inte alls Villkoret måste någon gång bli falskt, annars kommer man inte ut ur loopen Vanligt logiskt fel Se t ex Forever.java (s.138) int count = 1; while (count <= 25) System.out.println (count); count = count - 1; System.out.println ("Done"); // exekveras aldrig Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Do-satsen For-satsen do sats while (villkor); Motsvarar omvänd while-sats Villkoret evalueras på nytt efter varje varv Satsen utförs minst en gång sats villkor for (initialisering; villkor; förändring) sats; motsvarar initialisering; while (villkor) sats; förändring; Fast loop Initialisering, villkor och förändring brukar refererar till samma variable Loop-variabeln bör inte ändras i satserna Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
17 For-satsen Exempel initialisering for (int antal=1; antal < 75; antal++) System.out.println (antal); villkor sats förändring for (int num=5; num <= total; num = num*2) sum = sum + num; System.out.println (sum); Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se, Programflödet Programflödet är sekventiellt Sats efter sats i den beskrivna ordningen Återhoppet sker till anropsstället Referenser en gång till... Primitiva datatyper Storlek av variabler är fastlagd (se OH 44) Alla variabler av samma datatyp ta samma utrymme i minnet Värdet kan sparas direkt method1() sats; method2(); sats; method2() return ; Klasstyper Storlek av variabler varierar Variabler av samma datatyp kan ta olika utrymme i minnet Värdet kan inte sparas direkt Referenser ( pekare ) Olika effekt (semantik) för = och == Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
18 Minnet 1 Minnet 2 Minnet består av en rad celler Alla celler har samma storlek (en byte) Varje cell har en unik adress En variabel är i princip ett (vettigt) namn på en adress Stora värden sparas i konsekutiva celler Exempel (primitiva datatyper): byte b = 5; char c = A ; int i = 6; b c A i Referenser är också adresser Triangle t1 = Exempel new (klasstyper): Triangle(); Triangle t2 = new Triangle(); Utförligt exempel: Se föreläsning 9278 t1 t2 Java--SU01 jubo, marie, thomasj@cs.umu.se, Java--SU01 jubo, marie, thomasj@cs.umu.se,
Klassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Läs merParameteröverföring. Exempel. Exempel. Metodkropp
Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merPersonal Objektorienterad programmeringsmetodik 5DV081 5DV109
Personal Objektorienterad programmeringsmetodik 5DV081 5DV109 VT-10 Lärare Johan Eliasson (johane@cs.umu.se) Handledare Thomas Johansson Mikael Öhman Lucas Lindström 1 2 Här sitter vi MIT-huset våning
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merPersonal. Objektorienterad programmeringsmetodik 5DV133. Kursmål. Här sitter vi MIT-huset våning 4. Examination. Kursens uppläggning.
Personal Objektorienterad programmeringsmetodik 5DV133 Java VT-12 1 Lärare Johan Eliasson (johane@cs.umu.se) (kursansv) Thomas Johansson (thomasj@cs.umu.se) Handledare Marcus Karlsson (marcusk@cs.umu.se)
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -
Läs merAbstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser
Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta
Läs merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
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
Läs merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merClasses och Interfaces, Objects och References, Initialization
Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
Läs merPersonal. Objektorienterad programmeringsmetodik 5DV133. Kursmål. Kursens uppläggning. Lärare. Handledare och gruppövningar.
Personal Objektorienterad programmeringsmetodik 5DV133 Java VT-16 1 Lärare Anders Broberg, anders.broberg@cs.umu.se Handledare och gruppövningar Niklas Fries Adam Dalhgren Jonathan Westin Erik Moström
Läs merObjekt och klasser - Introduktion
Objekt och klasser - Introduktion Begreppet objekt Hur klasser används för att skapa objekt Fördefinierade klasser Metoder och parameteröverföring Definiera klasser Modifierare Statiska variabler och metoder
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merInnehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och
Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält
Läs merLite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
Läs merSMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
Läs merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs merClasses och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:
Läs merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
Läs merF2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander
F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merFöreläsning 2, vecka 8: Repetition
TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merTentamen ID1004 Objektorienterad programmering October 29, 2013
Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
Läs merF4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander
F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merObjekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto
Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska
Läs merLÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Läs merF5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merProgrammeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Läs merEDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Läs merFöreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs merFöreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Läs merArv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }
En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class
Läs merFöreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Läs merJava, klasser, objekt (Skansholm: Kapitel 2)
Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma
Läs merE02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I
E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser
Läs merVem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om
Läs merITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
Läs merIntroduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public
Läs merObjektorienterad programmering Föreläsning 4
Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion
Läs merFöreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
Läs merF8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
Läs merFöreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Läs merFöreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merArv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Läs merExempel. Arrayer. Lösningen. Ett problem. Arrayer och hakparanteser. Arrayer
Exempel for (int antal=; antal < 75; antal++) System.out.println (antal); Arrayer for (int num=5; num
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
Läs merProgramstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser
// En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merObjektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016
Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class
Läs mer2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det
Läs merHeltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit
Fler byggstenar Heltalsrepresentation Fyra heltalstyper Intern data representation Typomvandlingar Fler operatorer VŠljande & upprepande satser Tecken-bit by te t short t int t 7 bitar 15 bitar 31 bitar
Läs merIdag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
Läs merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler
Läs merFöreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden
Föreläsning 7 Uttryck, Operatorer Och Kontrollflöden Nyckelord I Java abstract double int super boolean else interface switch break extends long synchronized byte final native this case finally new throw
Läs merTDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en
Läs merTentamen ID1004 Objektorienterad programmering December 15, 2012
Ordinarie tentamen för ID1004 Objektorienterad programmering, 15 december 2012, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
Läs merTENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
Läs merObjektorienterad programmering i Java
bild 1 Objektorienterad programmering i Java Föreläsning 2 Till och med kapitel 4 (och 5) i kursboken Java Software Solutions bild 2 Läsanvisningar Den här föreläsningen är i huvudsak uppbyggd kring ett
Läs merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merDagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Läs merProgrammeringsteknik I
Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden
Läs merÖvning2. Variabler. Data typer
Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man
Läs merIntroduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder
Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i
Läs merInkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private
Inkapsling tumregler Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler Tobias Wrigstad (baserat på material från Tom Smedsaas) 5 november 2010 1. Man skall
Läs merProgrammering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
Läs merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning Generiska klasser Undantag Interface Nästlade klasser 1 Problem:
Läs merObjektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
Läs merEtt problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..
Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private
Läs merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merOOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson
OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:
Läs merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
Läs merTentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
Läs merTENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
Läs merKapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ
Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6
Läs merFöreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Läs merAnalys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram
Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,
Läs merFöreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera
Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merTentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
Läs merTentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
Läs merFöreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Läs merTDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Läs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean
Läs merUppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:
Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte
Läs mer1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler
1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp
Läs merEnkla datatyper minne
Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in
Läs mer