Hur ser ett Java-program ut?

Storlek: px
Starta visningen från sidan:

Download "Hur ser ett Java-program ut?"

Transkript

1 (27 augusti 2012 Repetitionsmaterial 1 ) Hur ser ett Java-program ut? // Ett första Java-program som skriver // ut ett meddelande på terminalen public class HelloWorld { public static void main(string [] args) { System.out.println("Hello world!");

2 (27 augusti 2012 Repetitionsmaterial 2 ) Programstruktur och terminologi Ett program består av en eller flera klasser Varje klass lagras på en fil med samma namn En klass innehåller data (attribut) och metoder För att en klass skall kunna köras som ett eget program måste det finnas metod med namnet main

3 Exempel: en funktion public class Factorial { public static long fact(int n) { long result = 1; for ( int i= 1; i<=n; i++ ) result *= i; return result; public static void main(string [] args) { for ( int i = 0; i <= 10; i++ ) { System.out.println( i + "! = " + fact(i) ); Två metoder, inga dataattribut, lokala variabler i metoderna. (27 augusti 2012 Repetitionsmaterial 3 )

4 (27 augusti 2012 Repetitionsmaterial 4 ) Frågor Vad betyder 1. public 2. static 3. int 4. long 5. void 6. for 7. String[] args?

5 (27 augusti 2012 Repetitionsmaterial 5 ) Enkla datatyper Typ värden storlek exempel byte heltal 1 byte -127, 47 short heltal 2 byte 4711 int heltal 4 byte long heltal 8 byte L float flyttal 4 byte -4.57e10f double flyttal 8 byte 3.123e-128 boolean logisk 1 byte true, false char tecken 2 byte x, 4, +

6 (27 augusti 2012 Repetitionsmaterial 6 ) Utmatning i terminalfönstret System.out.print(String s) System.out.println(String s) System.out.println() Enbart radbyte För formattering används antingen klassen NumberFormat eller (fr o m Java 5) metoden format (även benämnd printf).

7 (27 augusti 2012 Repetitionsmaterial 7 ) Scanner-klassen Kan användas för att läsa ord, tal mm (s.k. tokens ) från tangentbordet. Koppla ett Scanner-objekt till inströmmen: Scanner sc = new Scanner(System.in) Några metoder: sc.hasnext() sc.next() sc.nextline() sc.hasnextint() sc.nextint() sc.hasnextdouble() sc.nextdouble() boolean String String boolean int boolean double

8 (27 augusti 2012 Repetitionsmaterial 8 ) Exempel: Tabell med funktionsvärden // TableIO.java // Demonstrerar användning av Scanner Resultat import java.util.scanner; class TableIO { public static void main(string [] args) { double x, xlow, xhigh; int number; Scanner sc = new Scanner(System.in); System.out.print("Undre gräns: "); xlow = sc.nextdouble(); System.out.print("Övre gräns: "); xhigh = sc.nextdouble(); System.out.print("Antal värden: "); number = sc.nextint(); double step = (xhigh - xlow) / (number-1); for ( int i = 1; i<=number; i++ ) { x = xlow + (i-1)*step; System.out.print(x); System.out.println("\t" + Math.log(x)); vega$ java TableIO Undre gräns: 0 Övre gräns: 10 Antal värden: Infinity vega$

9 (27 augusti 2012 Repetitionsmaterial 9 ) Vad händer vid felaktiga indata? vega$ java TableIO Undre gräns: 0 Övre gräns: 10 Antal värden: 12.3 Exception in thread "main" java.util.inputmismatchexception at java.util.scanner.throwfor(scanner.java:819) at java.util.scanner.next(scanner.java:1431) at java.util.scanner.nextint(scanner.java:2040) at java.util.scanner.nextint(scanner.java:2000) at TableIO.main(TableIO.java:16) vega$ Uppgift 1

10 (27 augusti 2012 Repetitionsmaterial 10 ) Klasser och objekt Ett program består oftast av flera klasser En klass beskriver någon typisk enhet i programmet När ett program exekverar så kan det skapa en eller flera instanser av klasserna så kallade objekt Objekten kommunicerar med varandra genom att anropa varandras metoder

11 (27 augusti 2012 Repetitionsmaterial 11 ) Exempel: En punkt i planet public class Point { private double x, y; public Point() { this.x = 0; this.y = 0; public Point( double x, double y ) { this.x = x; this.y = y; // Konstruktor // Konstruktor Observera: 1. Privata attribut 2. Två konstruktorer - överlagring 3. Skillnaden mellan x och this.x

12 (27 augusti 2012 Repetitionsmaterial 12 ) Exempel: klassen Circle public class Circle { private Point center; private double radius; public Circle( Point center, double radius ) { this.center = center; this.radius = radius; public void scale(double sf) { this.radius = sf*this.radius; public double area() { return Math.PI*this.radius*this.radius;

13 (27 augusti 2012 Repetitionsmaterial 13 ) Exempel: klassen TestCircle public class TestCircle { public static void main(string [] args) { Point p = new Point( 0.5, -3.5 ); Circle c = new Circle( p, 1.0 ); Circle d = c; System.out.println("Area of c: " + c.area()); c.scale(2.0); System.out.println("Area of d: " + d.area());

14 (27 augusti 2012 Repetitionsmaterial 14 ) Klasser och objekt Objekt skapas med new Referensvariabler håller reda på objekt En referensvariabel kan vara null Punktnotation används för att referera attribut och metoder Exekveringen börjar i main Klassen Math Uppgift 2

15 Exempel: Tärning public class Die { private int nosides; private int value; public Die() { nosides = 6; public Die(int ns) { nosides = ns; public int roll() { return value = (int) (Math.random()*noSides) + 1; public int get() { return value; (27 augusti 2012 Repetitionsmaterial 15 )

16 (27 augusti 2012 Repetitionsmaterial 16 ) Observationer på klassen Die Två konstruktorer - s.k. överlagring Skyddsnivåer: public, private Fler finns: paket (eng. package) och protected Privata attribut, publika metoder Tilldelning har värde Skulle kunna ändra antal sidor om t ex public void setnosides(int n) och, ev. public int getnosides() Typecast som t ex (int) Uppgift 3

17 (27 augusti 2012 Repetitionsmaterial 17 ) Exempel på användning av klassen Die import java.util.scanner; public class CheckDie { public static void main(string[] args) { Scanner sc = new Scanner(System.in); System.out.print("Number of sides: "); int nsides = sc.nextint(); int[] freq = new int[nsides]; Die d = new Die(nSides); for (int i= 1; i<=1000; i++ ) { freq[d.roll()-1]++; for (int i= 0; i<nsides; i++) System.out.println( (i+1) + "\t" + freq[i] );

18 (27 augusti 2012 Repetitionsmaterial 18 ) Observationer Användning av en array Arrayer skapas dynamiskt med new Arrayer hanteras med referenser Minsta index 0 i array Använde data som index Uppgift 4 och 5

19 (27 augusti 2012 Repetitionsmaterial 19 ) Mer om referenser När ett objekt skapas med new returneras en referens (dvs en pekare eller adress) till det skapade objektet. Deklarationen Die t; gör inte t till en Die utan till en referens till en Die Referenser kan tilldelas till referensvariabler (av rätt typ) och jämföras med == och!= Instansvariabler av referenstyp initieras till null this är en referens till det egna objektet

20 (27 augusti 2012 Repetitionsmaterial 20 ) Mer om referenser Flera referenser kan peka till samma objekt. Blir resultatet av tilldelningen t1 = t2; Observera att relationsoperatorerna == och!= jämför adresserna dvs som de står för fysiskt samma objekt inte huruvida objekten ser lika ut Om ingen referens till ett objekt är det borttappat. Borttappade objekt samlas ihop automatiskt av skräpsamlaren.

21 (27 augusti 2012 Repetitionsmaterial 21 ) Ännu mer om referenser Referenser kan skickas som parametrar till en metod (objekt kan naturligtvis inte skickas) Om objektet förändras av metoden så har det effekt Man kan säga att objekten existerar globalt och är åtkomliga överallt där man har en referens till dem En metod kan returnera referenser som funktionsvärden

22 (27 augusti 2012 Repetitionsmaterial 22 ) Exempel Skapa kopior av objekt public class Circle { Point center; double radius; public Circle( Point cen, double rad ) { center = cen; radius = rad; public Circle( Circle c) { // konstruktor center = c.center; radius = c.radius; public Circle copy() { // metod return new Circle( center, radius ); public static void main(string [] args) { Circle c = new Circle( new Point(0.,0.), 1.0 ); Circle d = c; Circle e = new Circle(c); Circle f = c.copy(); Uppgift 6

23 (27 augusti 2012 Repetitionsmaterial 23 ) Jämförelser av objekt Igen: Relationsoperatorerna == och!= jämför bara referenserna! Alla objekt har en metod equals() som jämför objekt innehållsmässigt byte för byte I regel definierar man dock en egen equals() Referenser kan inte jämföras storleksmässigt men man kan naturligtvis definiera egna metoder för att jämföra objekt

24 (27 augusti 2012 Repetitionsmaterial 24 ) Några exempel på jämförelsefunktioner public class Circle { Point center; double radius; public boolean equals(circle c) { return Math.abs(radius-c.radius) < 1.e-10; public boolean identical(circle c) { if ( radius==c.radius && center.getx() == c.center.getx() && center.gety() == c.center.gety()) return true; else return false; public int compareto(circle c) { if ( radius == c.radius ) return 0; else if (radius < c.radius) return -1; else return 1; public boolean lessthan(circle c) { return radius < c.radius;

25 (27 augusti 2012 Repetitionsmaterial 25 ) Klassvariabler Hittills har alla dataattribut varit instans-variabler dvs varje objekt har sin egen upplaga av dessa Man kan också ha klass-variabler som är gemensamma för alla objekt i klassen vilket anges med static En klassvariabel kan referas på samma sätt vanliga attribut men vanligen genom klassnamn.variabelnamn Det går också att ha klass-metoder som alltså kan användas utan frikopplat från objekten (ex Math.sin() och main()) En klassmetod kan inte referera objektattribut och ej heller anropa andra objektmetoder utan att gå via en objektreferens

26 (27 augusti 2012 Repetitionsmaterial 26 ) Exempel public class Circle1 { Point center; double radius; int id; static int ncircles = 0; public Circle1( Point cen, double rad ) { center = cen; radius = rad; id = ++ncircles; public static void report() { System.out.println( "Antal skapade cirklar: " + ncircles ); public static void main(string [] args) { Circle1 c; for ( int i = 1; i<=10; i++ ) c = new Circle1( new Point( 10*i, 15*i ), 5*i ); report();

27 (27 augusti 2012 Repetitionsmaterial 27 ) Mer om arrayer Fält (arrayer) är ett slags objekt och hanteras således med referenser och har attribut och metoder. Deklaration typ [] namn typ [] namn = fältreferens typ [] namn = {v 0, v 1,... v n Skapas med new typ [antal] eller, som en kopia av annat fält med (typ[])fältreferens.clone()

28 (27 augusti 2012 Repetitionsmaterial 28 ) Exempel public class Circles { Circle [] thecs; int ncs; public Circles() { ncs = 0; thecs = new Circle[5] ; public void add(circle c) { thecs[ncs++] = c; public static void main(string [] args) { Circles circles = new Circles(); Point p = new Point(0,0); for ( int i = 1; i<=10; i++ ) circles.add( new Circle( p, 10*i ) ); kursa$ java Circles java.lang.arrayindexoutofboundsexception: 5 at Circles.add(Compiled Code) at Circles.main(Compiled Code) kursa$

29 (27 augusti 2012 Repetitionsmaterial 29 ) En bättre add-metod public class Circles { Circle [] thecs; int ncs; public void add(circle c) { if ( thecs.length == ncs ) { Circle [] newarr = new Circle[2*theCs.length]; System.arraycopy( thecs, 0, newarr, 0, thecs.length ); thecs = newarr; thecs[ncs++] = c;... OBS: length och System.arraycopy Uppgift 7

30 (27 augusti 2012 Repetitionsmaterial 30 ) Exempel: Instickssortering public class InsertionSort { public static void sort( int [] a ) { int i, j; for ( i = 1; i<a.length; i++ ) { int x = a[i]; for ( j = i - 1; j>=0 && x<a[j]; j-- ) a[j+1] = a[j]; a[j+1] = x; public static void main(string [] args ) { int a[] = {5, 17, 3, 19, 10, 12, 2; sort(a); for (int i= 0; i<a.length; i++ ) System.out.print( a[i] + " " ); System.out.println(); Uppgift 8

31 (27 augusti 2012 Repetitionsmaterial 31 ) Typkonverteringar Java konverterar automatiskt när det kan ske riskfritt Explicit med s.k. typecasts. Ex: (short) Vid aritmetik omvandlas byte, short till int Om en operand är long så omvandlas den andra till long (om den är av heltalstyp) Funktioner i Math returnerar double

32 (27 augusti 2012 Repetitionsmaterial 32 ) Omslagsklasser Till var och en av de primitiva datatyperna finns en omslagsklass (eng wrapper class) Klasserna har samma namn som de primitiva typerna men med inleds med en versal (de som hör till int och char heter dock Integer och Character) Dessa klasser innehåller Ett antal klass-attribut med konstanter (t ex max och minvärde) Ett antal klass-metoder för t ex konverteringar Ett antal instansmetoder för motsvarande för ett objekt

33 (27 augusti 2012 Repetitionsmaterial 33 ) Tecken import java.io.*; public class Tecken { public static void main(string [] args ) throws IOException { int nupper=0, nlower=0, nothers=0; char c; BufferedReader inf = new BufferedReader(new InputStreamReader(System.in)); System.out.print("> "); System.out.flush(); while( (c=(char)inf.read())!= \n ) { if ( Character.isUpperCase(c) ) nupper++; else if ( Character.isLowerCase(c) ) nlower++; else nothers++; System.out.println( "Stora: " + nupper + ", små: " + nlower + ", övriga: " + nothers );

34 (27 augusti 2012 Repetitionsmaterial 34 ) Observera 1. Scanner-klassen passar inte för att läsa tecken (ingen nextchar ) 2. Använder en BufferedReader som via en InputStreamReader kopplas till System.in. Ett standardsätt. 3. java.jo.* måste importeras 4. Raden throws IOException i början av main (Varför behövs inte den raden när man använder Scanner?) Uppgift 9

35 (27 augusti 2012 Repetitionsmaterial 35 ) Klassen String Ett objekt ur klassen String består av en följd av char Strängkonstanter omges med citationstecken String s = Omge strängar med \! Objekt av typen String är oföränderliga. Alla operationer nedan som resulterar i strängar skapar nya sådana. Operatorn + konkatenerar strängar Tecknen i strängen numreras från 0

36 (27 augusti 2012 Repetitionsmaterial 36 ) Några metoder i klassen String length() charat(n) substring(n) substring(n,m) compareto(s) equals(s) indexof(c) indexof(s) replace(c1,c2) touppercase() tolowercase()

37 (27 augusti 2012 Repetitionsmaterial 37 ) Exempel: Palindromcheck import java.util.scanner; public class Palindrom { public static void main(string[] args) { String w; int n; boolean pal; Scanner sc = new Scanner(System.in); while (sc.hasnext()) { w = sc.next(); w = w.touppercase(); if ( w.equals("stop") w.equals("quit")) break; n = w.length(); pal = true; for ( int i=0; i < n/2; i++) { if (w.charat(i)!=w.charat(n-1-i)) { pal = false; break; if ( pal ) System.out.println(w + " palindrom"); else System.out.println(w + " ej palindrom");

38 (27 augusti 2012 Repetitionsmaterial 38 ) Arrayer med strängar Parametern till main är ett exempel på en array av strängar. När programmet startas kommer orden på kommandoraden att lagras som element i denna array. Exempel: public class Echo { public static void main( String [] args ) { for ( int i = 0; i<args.length ; i++ ) System.out.print( args[i] + ); System.out.println(); kursa$ java Echo hej du glade! hej du glade! kursa$ Uppgift 10

39 (27 augusti 2012 Repetitionsmaterial 39 ) Konvertering av objekt till String Man kan definiera omvandlig av objekt till typen String för t ex utskriftsändamål genom att definiera en metod tostring(): public class Circle { Point center; double radius; public String tostring() { return "Circle(" + center + ", " + radius + ") "; public static void main(string [] args) { Circle c = new Circle( new Point(0.,0.), 1.0 ); System.out.println( c ); kursa$ java Circle Circle(Point@1fa4d404, 1.0) kursa$ Uppgift 11

40 Mer om klasser class namn { deklarationer av instansvariabler definition av metoder Ingen speciell ordning krävs men... Instansvariablerna synlighet är sällan publika utan privata eller skyddade (protected) eller, möjligen, paketsynliga. Instansvariabler har defaultvärden beroende på typ (typiskt 0) Instansvariabler kan initieras i deklarationen till godtyckliga uttryck (ingående variabler måste vara definierade) Instansvariabler kan anges som final vilket förhindrar ändring (dvs en konstant (27 augusti 2012 Repetitionsmaterial 40 )

41 (27 augusti 2012 Repetitionsmaterial 41 ) Metodefinition modifierare typ namn(typ 1 p 1, typ 2 p 2,... ) { lokala variabler och satser Modifierarna anger t.ex. synlighet Lokala variabler har inga defaultvärden! Om typen inte är void så måste en sats return u; där u är ett uttryck av rätt typ. Metoder kan ha samma namn om de har olika signatur dvs skiljer sig i parameterantal och/eller typ (överlagring)

42 (27 augusti 2012 Repetitionsmaterial 42 ) Metodanrop Från metod i samma klass: metodnamn(argumentlista) Från metod i annan klass: referens.metodnamn(argumentlista) Om static-metod i annan klass: klassnamn.metodnamn(argumentlista) (Ex: Math.exp(x))

43 (27 augusti 2012 Repetitionsmaterial 43 ) Konstruktorer Attributen kan tilldelas värden direkt i deklarationen (alternativt erhålla defaultvärden) Man kan definiera en eller flera konstruktorer för mer komplicerade initieringar En konstruktor är en metod som har samma namn som klassen och som saknar typ Om man inte definierar någon konstruktor tillhandahåller systemet en defaultkonstruktor som saknar parametrar och inte gör någonting Om man definierar en eller flera konstruktorer så tillhandahåller inte systemet någon defaultkonstruktor om man vill ha en parameterlös konstruktor så får man skriva en själv

44 (27 augusti 2012 Repetitionsmaterial 44 ) Parameter och resultatöverföring Vid anrop sker 1. De uttryck som givits som argument beräknas 2. De beräknade värdena förs över till parametrarna 3. Internt i metoden används parametrarna lokala variabler de kan t.ex. tilldelas nya värden 4. Inga värden återföres via parametrarna vi return Metoden kallas värdeanrop (eng. call by value) och möjliggör således ej returparametrar. (Kan dock åstadkommas genom att skicka referenser till objekt.)

public och private Obs: private inte skyddar mot access från andra objekt i samma klass.

public och private Obs: private inte skyddar mot access från andra objekt i samma klass. public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private

Läs mer

Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private

Inkapsling 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 mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Fö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 mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur 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 mer

Objektorienterad programmering i Java

Objektorienterad 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 mer

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

Programmering 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 mer

Vad var C? okontrollerade brutala typomvandlingar tillåts. void * typinformation kvar, vild adressering, arraygränser, odenierade variabelvärden...

Vad var C? okontrollerade brutala typomvandlingar tillåts. void * typinformation kvar, vild adressering, arraygränser, odenierade variabelvärden... Vad var C? I Imperativt I Maskinnära I minnesadresser, adressaritmetik I bitmanipulering I Statiskt typat: alla variabler har en typ I Svagt typat: vissa typomvandlingar görs automatiskt och okontrollerade

Läs mer

SMD 134 Objektorienterad programmering

SMD 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 mer

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

Datatyper 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 mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public

Läs mer

Sammanfattning. Sammanfattning, arrayer, inre och nästlade klasser, undantagshantering, wrapperklasser mm. Metodefinition

Sammanfattning. Sammanfattning, arrayer, inre och nästlade klasser, undantagshantering, wrapperklasser mm. Metodefinition Sammanfattning Sammanfattning, arrayer, inre och nästlade klasser, undantagshantering, wrapperklasser mm Tobias Wrigstad (baserat på material från Tom Smedsaas) 9 november 2010 public class TheClassName

Läs mer

Föreläsning 3-4 Innehåll

Fö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 mer

Tentamen OOP 2015-03-14

Tentamen 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 mer

Idag. 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. 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 mer

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

Kompilering 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 mer

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

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

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. 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 mer

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

Läs mer

Fö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. 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 mer

Föreläsning 5-6 Innehåll

Fö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 mer

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

Arv: 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 mer

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

Lite 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 mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

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

732G 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 mer

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

Fö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 mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr

Läs mer

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser. (16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar

Läs mer

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

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]

Läs mer

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

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 )

Dagens föreläsning. Arrayer och klasser. Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 1 ) (26 januari 2018 F3 1 ) Dagens föreläsning Arrayer och klasser Medan ni väntar: Gå till m.voto.se/prog11 och svara på några gamla tentamensfrågor! (26 januari 2018 F3 2 ) Arrayer En array är en datatyp

Läs mer

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp

Läs mer

Introduktion till Java

Introduktion till Java Introduktion till Java Tobias Wrigstad (baserat på material från Tom Smedsaas) 26 oktober 2010 Tobias Bitr. lektor på IT sedan jan. 2010 Forskar i objekt-orienterade programmering sedan 2000 1. Modeller

Läs mer

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 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 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 mer

Övning2. Variabler. Data typer

Ö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 mer

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

Parsing med Recursive Descent, Avbildningsklasser. Syntaxdiagram. Syntaxdiagram och kodning expression. Betrakta följande uttryck Betrakta följande uttryck a +(b + c) d + e (f + g h) Parsing med Recursive Descent, Avbildningsklasser Tobias Wrigstad (baserat på bilder från Tom Smedsaas) 22 november 2010 Beräkning med regler: multiplikation

Läs mer

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 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

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser. (1 oktober 2017 F5 1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (1 oktober 2017 F5 2 ) Pokertärningar

Läs mer

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 Hjälpmedel: Java-bok Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

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

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,

Läs mer

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(

Läs mer

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print.

För att skriva data till skärmen ( konsolen) används objektet System.out tillsammans med metoden println eller print. 1 Inmatning och utskrift Inmatning från tangentbord och utskrift till skärm sker i java med hjälp av objekten System.out och System.in. Dessa båda objekt är exempel på strömmar. En ström är en typ som

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

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

ITK: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 mer

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305 Klass Object, instans av klass public/private Klassvariabler och klassmetoder 1 Array och ArrayList Arrayer och ArrayList är till för att innehålla

Läs mer

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye DD2310 Javaprogrammering för Pythonprogrammerare Johan Boye James Gosling pappa till Java Hej.java public class Hej { public static void main( String[] args ) { System.out.println( "Hej" ); Java basics

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering 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 mer

OOP Objekt-orienterad programmering

OOP 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 mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens 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 mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort 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 mer

Enkla variabler kontra referensvariabel

Enkla variabler kontra referensvariabel Enkla variabler kontra referensvariabel En variabel är ett namngivet minnesutrymme i datorns primärminne. En variabel som används för att representera en primitiv datatyp kallas för enkel variabel. Deklarationssatsen

Läs mer

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap. Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.

Läs mer

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering

Läs mer

Objekt-orientering. Java är ett objekt-orienterat programmeringsspråk

Objekt-orientering. Java är ett objekt-orienterat programmeringsspråk Repetition EDAA10 Objekt-orientering Java är ett objekt-orienterat programmeringsspråk Program byggs upp av klasser och objekt Objekt instantieras från klasser Klasser och objekt innehåller attribut och

Läs mer

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

Vem ä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 mer

Språkkonventioner och redigering av tal.

Språkkonventioner och redigering av tal. Språkkonventioner och redigering av tal. Kap J3-1 Konventioner för olika språk hanteras med hjälp av klassen java.util.locale Ett objekt i denna klass beskriver en lokal konvention. Lokala konventioner

Läs mer

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Lösningsförslag, tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och

Läs mer

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Fö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 mer

Del A (obligatorisk för alla)

Del A (obligatorisk för alla) Del A (obligatorisk för alla) A1. Koden följer garanterat namnkonventionerna. Ringa in rätta svar och lämna in tillsammans med dina övriga svar! a) Hur många objekt skapas av följande kod? World w = new

Läs mer

F4. programmeringsteknik och Matlab

F4. 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 mer

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

Läs mer

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2012-03-14 Skrivtid: 0800-1100 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

Läs mer

Typkonvertering. Java versus C

Typkonvertering. 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 mer

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t. Föreläsning 11 Arrayer Arrayer Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt int[] tal = new int[3]; Kan ha en array av t.ex: Heltal (int) Tecken (char) Personer (objekt av klassen

Läs mer

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

F4 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 mer

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

Kapitel 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 mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Del A (obligatorisk för alla)

Del A (obligatorisk för alla) Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Satsen double x = (int)(1 + 3/2.0) + 3.; resulterar i b) Satsen int x = (int)(1 + 3/2.0) + 3.; resulterar

Läs mer

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

I STONE. I Variabler, datatyper, typkonvertering. I Logiska och matematiska uttryck. I Metoder-returvärde och parametrar. I Villkorssatser if/else Förkunskaper från tidigare föreläsningar: Objektorienterad Programmering (TDDC77) Föreläsning IX: Klasser och Objekt, Instantiering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2015 I STONE I Variabler,

Läs mer

Klasser och Objekt i Java. C++ använder beteckningarna datamedlem resp. medlemsfunktion. Klassdefinition. Exempel: Variabler

Klasser och Objekt i Java. C++ använder beteckningarna datamedlem resp. medlemsfunktion. Klassdefinition. Exempel: Variabler Klasser och Objekt i Java Kap J2-1 C++ använder beteckningarna datamedlem resp. medlemsfunktion. Klassnamn Instansvariabler (attribut) Metoder (operationer) Passagerare id ankomsttid destination kliverpå

Läs mer

EDAA20 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. 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 mer

Classes och Interfaces, Objects och References, Initialization

Classes 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 mer

"if"-satsen. Inledande programmering med C# (1DV402)

if-satsen. Inledande programmering med C# (1DV402) "if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Fö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 mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad 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 mer

2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa

2203$( Föreläsning ii - Mer om Java bla this och konstruktorer. Exempel: lampa 2203$( Föreläsning ii - Mer om Java bla this och konstruktorer Av Björn Eiderbäck Email: bjorne@nada.kth.se Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: 7906277 previous next Exempel: lampa Light1 #

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad 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 mer

E02 "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. 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 mer

Idag. 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 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 mer

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

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 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 mer

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Objektorienterad 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 mer

Malmö högskola 2008/2009 CTS

Malmö högskola 2008/2009 CTS Laboration 8 Avsikten med laborationen är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom

Läs mer

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

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016 Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter

Läs mer

JAVAUTVECKLING LEKTION 7

JAVAUTVECKLING LEKTION 7 JAVAUTVECKLING LEKTION 7 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Olika språkversioner (Klassen Locale) Utskrift i kommandofönster Inläsning via kommandofönster Standardklassen

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion 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 mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Arrayer. results

Arrayer. results Arrayer 85 Arrayer Deklarerar utrymme för många variabler i en enda deklaration Array (fält) Varje värde har ett numeriskt index i Java indexeras en array med N element med indexen till N-1 Exempel: 1

Läs mer

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

//Använd main som ett handtag för att hålla ihop programmet. //Själva programmet finns i övriga klasser. /*==================================================================== Detta program hör ihop med dokumentet EXEMPEL_AVERAGE_POINTS.PDF där det finns förklaringar. ======================================================================*/

Läs mer

Konstruktion av klasser med klasser

Konstruktion av klasser med klasser Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut

Läs mer

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

Idag. Exempel, version 2. Exempel, version 3. Ett lite större exempel Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av

Läs mer

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett 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 mer

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.

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. 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 mer

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

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner Programmeringsteknik och Matlab Övning 3 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 mer

Föreläsning REPETITION & EXTENTA

Fö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 mer