Omprov 11/11. på förmiddagen.
|
|
- Viktor Hermansson
- för 7 år sedan
- Visningar:
Transkript
1 Omprov 11/11 på förmiddagen
2 Vad kommer sedan?
3 Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag är mätt Nej, tack Jag är full
4 Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag är mätt Nej, tack Jag är full
5 Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag är mätt Nej, tack Jag är full
6 Nästa labb Ganska mycket inläsning Detaljerade sidhänvisningar Labbuppgifterna ganska enkla Enskilt!
7 Java Utvecklat på SUN Microsystems (nu köpta av Oracle), på mitten av 1990-talet Slog ursprungligen igenom för Webprogram Är nu mycket spritt Massor med läroböcker Vi använder Horstmann Finns som öppen källkod
8 Java ett språk Imperativt Ett program specificerar hur något ska utföras Precis som i Python! Objektorienterat Program byggs upp av objekt (tillstånd + beteende) och deras klasser (typdefinitioner av objekt) Också som i Python! (Men mer strikt) Statiskt typat Variabler och metoder har av programmeraren statiskt definierade typer (int, double, String etc) Python är istället dynamiskt typat
9 Java ett språk Imperativt (Det här kan ni!) Ett program specificerar hur något ska utföras Precis som i Python! Objektorienterat Program byggs upp av objekt (tillstånd + beteende) och deras klasser (typdefinitioner av objekt) Också som i Python! (Men mer strikt) Statiskt typat Variabler och metoder har av programmeraren statiskt definierade typer (int, double, String etc) Python är istället dynamiskt typat
10 Java ett språk Imperativt (Det här kan ni!) Ett program specificerar hur något ska utföras Precis som i Python! Objektorienterat (Främst nästa vecka och senare) Program byggs upp av objekt (tillstånd + beteende) och deras klasser (typdefinitioner av objekt) Också som i Python! (Men mer strikt) Statiskt typat Variabler och metoder har av programmeraren statiskt definierade typer (int, double, String etc) Python är istället dynamiskt typat
11 Java ett språk Imperativt (Det här kan ni!) Ett program specificerar hur något ska utföras Precis som i Python! Objektorienterat (Främst nästa föreläsning och senare) Program byggs upp av objekt (tillstånd + beteende) och deras klasser (typdefinitioner av objekt) Också som i Python! (Men mer strikt) Statiskt typat (Denna vecka) Variabler och metoder har av programmeraren statiskt definierade typer (int, double, String etc) Python är istället dynamiskt typat
12 Java en miljö Java översätts (i regel) inte direkt till maskinkod, utan till en mellanform som körs på en virtuell maskin, en Java Virtual Machine (JVM)
13 Java en miljö Java översätts (i regel) inte direkt till maskinkod, utan till en mellanform som körs på en virtuell maskin, en Java Virtual Machine (JVM)
14 In In get t kö era stö rn kt d in iv fö g r Java en miljö Vi använder Java SE 6 via IDEn Netbeans
15 Output
16 Output Python print Hello world
17 Output Python print Hello world Java Systemoutprintln( Hello world );
18 Output Python print Hello world Java Systemoutprintln( Hello world ); Finns också utan radbryte: Systemoutprint()
19 Output Python print Hello world Java Systemoutprintln( Hello world ); Finns också utan radbryte: Systemoutprint() Tips: Skriv sout<tab> för att få Netbeans att generera Systemoutprintln( );
20 Java ett språk Imperativt Ett program specificerar hur något ska utföras Precis som i Python! Objektorienterat Program byggs upp av objekt (tillstånd + beteende) och deras klasser (typdefinitioner av objekt) Också som i Python! (Men mer strikt) Statiskt typat Variabler och metoder har av programmeraren statiskt definierade typer (int, double, String etc) Python är istället dynamiskt typat
21 Kort om objekt och klasser (i Pythonsyntax) Exempel på objekt: Varje objekt har en klass: [1,2,3] hejsan list str
22 Kort om objekt och klasser (i Pythonsyntax) Exempel på objekt: [1,2,3] hejsan Varje objekt har en klass: list str Varje objekt har ett tillstånd (tex innehåller 1,2,3) Klassen anger de möjliga tillstånden
23 Kort om objekt och klasser (i Pythonsyntax) Exempel på objekt: [1,2,3] hejsan Varje objekt har en klass: list str Varje objekt har ett tillstånd (tex innehåller 1,2,3) Klassen anger de möjliga tillstånden Varje objekt har beteenden, implementerade i metoder Klassen anger metoderna Ex alla listor har sort() och insert()
24 Objektorientering (mer nästa vecka!) I objektorienterade språk (tex Python och Java) finns inbyggt stöd för att skriva egna klasser I Python görs det när programmeraren vill I Java måste all kod ligga i klasser Varje Javaprogram måste ha minst en klass
25 Programstruktur Python Java def f(): def g(): huvudprogram class A metod f() metod g() metod main() class B metod h
26 Programstruktur Python Pythonprogrammet börjar på första raden def f(): def g(): huvudprogram Java class A metod f() metod g() metod main() class B metod h
27 Programstruktur Python Pythonprogrammet börjar på första raden def f(): def g(): huvudprogram Java class A metod f() Javaprogrammet börjar i metoden main() i metod g() den klass (A) som angetts som huvudklass metod main() class B metod h
28 Java ett språk Imperativt Ett program specificerar hur något ska utföras Precis som i Python! Objektorienterat Program byggs upp av objekt (tillstånd + beteende) och deras klasser (typdefinitioner av objekt) Också som i Python! (Men mer strikt) Statiskt typat Variabler och metoder har av programmeraren statiskt definierade typer (int, double, String etc) Python är istället dynamiskt typat
29 Typer Alla värden har en typ, tex (med Javatyper): hej int double String
30 Typer Alla värden har en typ, tex (med Javatyper): hej int double String En variabel har samma typ som sitt värde: x = 42 s = hej x har typen int s har typen String
31 Dynamisk vs statisk typning Python har dynamisk typning: Variablers typ bestäms vid körning x = 15 y = x = ny typ! Java har statisk typning: Variablers typ bestäms när de deklareras int x; double y; x och y deklareras och ges typerna int och double x = 15; y = ; x = ny typ! ; Typfel!
32 Dynamisk vs statisk typning Python har dynamisk typning: Variablers typ bestäms vid körning x har nu typen int x = 15 y = x = ny typ! Java har statisk typning: Variablers typ bestäms när de deklareras int x; double y; x och y deklareras och ges typerna int och double x = 15; y = ; x = ny typ! ; Typfel!
33 Dynamisk vs statisk typning Python har dynamisk typning: Variablers typ bestäms vid körning x har nu typen int x = 15 y = x = ny typ! y har nu typen float Java har statisk typning: Variablers typ bestäms när de deklareras int x; double y; x och y deklareras och ges typerna int och double x = 15; y = ; x = ny typ! ; Typfel!
34 Dynamisk vs statisk typning Python har dynamisk typning: Variablers typ bestäms vid körning x har nu typen int x = 15 y = x = ny typ! y har nu typen float x har nu typen str Java har statisk typning: Variablers typ bestäms när de deklareras int x; double y; x och y deklareras och ges typerna int och double x = 15; y = ; x = ny typ! ; Typfel!
35 Dynamisk vs statisk typning Python har dynamisk typning: Variablers typ bestäms vid körning x har nu typen int x = 15 y = x = ny typ! y har nu typen float x har nu typen str Java har statisk typning: Variablers typ bestäms när de deklareras int x; double y; x och y deklareras och ges typerna int och double x = 15; y = ; x = ny typ! ; Typfel!
36 Dynamisk vs statisk typning Python har dynamisk typning: Variablers typ bestäms vid körning x har nu typen int x = 15 y = x = ny typ! y har nu typen float x har nu typen str Java har statisk typning: Variablers typ bestäms när de deklareras int x; double y; x och y deklareras och ges typerna int och double x = 15; y = ; x = ny typ! ; Typfel!
37 Typcheckning def sum_and_square(a, b): return (a+b) ** 2 When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck x = 42 y = 13 z = sum_and_square(x, y) print z z = sum_and_square(04, y) print z z = sum_and_square(x, hej ) print z
38 Typcheckning def sum_and_square(a, b): return (a+b) ** 2 >>> Traceback (most recent call last): File "<input>", line 1, in <module> File "<input>", line 2, in sum_and_square TypeError: unsupported operand type(s) for +: 'int' and 'str' x = 42 y = 13 z = sum_and_square(x, y) print z z = sum_and_square(04, y) print z z = sum_and_square(x, hej ) print z
39 Typcheckning def sum_and_square(a, b): return (a+b) ** 2 >>> Traceback (most recent call last): File "<input>", line 1, in <module> File "<input>", line 2, in sum_and_square TypeError: unsupported operand type(s) for +: 'int' and 'str' x = 42 y = 13 z = sum_and_square(x, y) print z z = sum_and_square(04, y) print z z = sum_and_square(x, hej ) print z
40 Typcheckning def sum_and_square(a, b): return (a+b) ** 2 >>> Traceback (most recent call last): File "<input>", line 1, in <module> File "<input>", line 2, in sum_and_square TypeError: unsupported operand type(s) for +: 'int' and 'str' x = 42 y = 13 z = sum_and_square(x, y) print z z = sum_and_square(04, y) print z z = sum_and_square(x, hej ) print z
41 Typcheckning public class MyClassName { static int sumandsquare(int a, int b) { return (a+b) * (a+b); } public static void main(string[] args) { int x = 42; int y = 13; int z = sumandsquare(x, y); Systemoutprintln(z); z = sumandsquare(04, y); Systemoutprintln(z); } } z = sumandsquare(x, hej ); Systemoutprintln(z);
42 Typcheckning public class MyClassName { static int sumandsquare(int a, int b) { return (a+b) * (a+b); } public static void main(string[] args) { int x = 42; int y = 13; int z = sumandsquare(x, y); Systemoutprintln(z); z = sumandsquare(04, y); Systemoutprintln(z); } } z = sumandsquare(x, hej ); Systemoutprintln(z);
43 Vad finns det för typer? Primitiva typer Namn på en klasser int boolean float char byte double short long String (mer nästa vecka)
44 Vad finns det för typer? Array av ovanstående int[] String[] Javas arrayer är ganska lika Matlabs men ganska olika Pythonlistorna Metoder som append() etc finns inte En Javas array har en fix längd Alla element måste ha samma typ
45 Variabeldeklaration Typens namn följt av variabelns namn int height; String message; OBS! ; avslutar alla satser, liksom i Matlab int height = 1; String message = Welcome! ; Med ett initialvärde height = 3; Tilldelning skapar ingen ny variabel Kräver att variabeln redan är deklarerad
46 Arraydeklaration int[] a; a = new int[5]; Variabeln a är av typen array of int, ännu inte bestämt hur lång a blir ett arrayobjekt som innehåller 5 stycken int, a[0]a[4] (inledningsvis är värdet på alla elementen 0) int[] a = new int[5]; Kombinerar ovanstående på en rad
47 Arraydeklaration int[] a = {5,18,22,0,3}; int[][] c; Deklarerar, skapar och initierar i ett drag! c är en tvådimensionell array (En array av int arrayer) Elementet på plats i,j noteras c[i][j]
48 Översättning IF and
49 Python if a>b and b>0: d = 2 elif a<b: d = 1 e = 0 else: d = 0 if Java if (a>b && b>0) d = 2; else if (a<b) { d = 1; e = 0; } else d = 0;
50 Python if if a>b and b>0: d = 2 elif a<b: elif heter else d = 1 e = 0 else: d = 0 Java Parenteser runt villkor obligatoriska if if (a>b && b>0) d = 2; else if (a<b) { d = 1; e = 0; } else d = 0; Krullparenteser valfria vid enkel rad (Men använd dem ändå!) and och or heter && och (Varning! Inte & och )
51 while Python Java while a>b: d = 2+a a += 1 while (a>b) { d = 2+a; a++; } Tips: x+=1 och x-=1 skrivs smidigt som x++ (eller ++x) och x-- (eller --x) i Java
52 do-while Python Java Finns inte! do { d = 2+a; a--; } while (a<b); Som while, men kollar loopvillkoret i slutet av loopkroppen
53 for Python Java for elem in balls: for (Ball elem : balls) { } for i in range(20): for (int i=0; i<20; i++) { }
54 for Python Java for elem in balls: for (Ball elem : balls) { } for i in range(20): for (int i=0; i<20; i++) { } Java har två olika for-loopar!
55 for (initiering; villkor; update) { loopkropp } är bara ett smidigt sätt att skriva initiering; while (villkor) { loopkropp update; }
56 Ok, nu kodar jag! Nästan där! I Java måste koden vara i en metod Hur kan man skriva metoder?
57 Metoddeklaration 1) Resultattypen 2) Metodnamnet 3) (parameterns_typ parameterns_namn) Python: def matches(pattern, word) Java: boolean matches(string pattern, String word)
58 Metoddeklaration Resultattypen => Metod inte returnerar något? Metodnamnet (parameterns_typ parameterns_namn) Python: def printfile() Java: Vi skriver void void printfile()
59 Vilken får ett annorlunda resultat? if (a>b) { c = 0; a += 1; } b = a; if (a>b) {c =0; a += 1;} b = a; if (a>b) { c = 0; a += 1; } b = a; Alla dessa har Samma betydelse if (a>b) {c=0;a += 1;}b = a;
60 Vilken får ett annorlunda resultat? if (a>b) { c = 0; a += 1; } b = a; if (a>b) {c =0; a += 1;} b = a; if (a>b) { c = 0; a += 1; } b = a; Alla dessa har Samma betydelse if (a>b) {c=0;a += 1;}b = a;
61 Vilken får ett annorlunda resultat? if (a>b) { c = 0; a += 1; } b = a; if (a>b) {c =0; a += 1;} b = a; if (a>b) { c = 0; a += 1; } b = a; Alla dessa har Samma betydelse if (a>b) {c=0;a += 1;}b = a; Fortsätt att använda indragningar och radbrott för att öka läsbarheten!
62 Let's code! A botanist plants a number of seeds in 6 different fields, to analyze the flowers each plant will have This kind of seed can grow any number of flowers, including none However, there is a bug plague: some plants die because of this, and no flowers grow Given the results of flowers per planted field, how do we calculate 1) how many alive plants are in total 2) how many plants died?
63 Scope För varje deklaration är det väldefinierat för vilket område av koden den gäller Ex: Deklaration av en variabel har räckvidden resten av det kodblocket, alltså det som avgränsas av { } if (c>b) { int a; Här inne kan a användas } Här ute kan a inte användas
64 Modifiers Extra egenskaper kan anges i samband med en deklaration Skrivs före typen Exempelvis: public static Detta kan användas även utanför den fil där deklarationen står Detta förknippas enbart med klassen och inte med klassens objekt
65 References By Windell Oskay, licence /legalcode Copyright Richard Smith, reuse under this Creative Commons Licence ( 0/ )
Skillnader mellan Python och Java
Java Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram Nu mycket spritt Massor med läroböcker Vi använder Lewis&Loftus http://javasuncom/javase/6/docs/api/ Skillnader mellan
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 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 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 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 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 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 merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU
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 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 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 merKlassdeklaration. 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 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 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 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 merAtt 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 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 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 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 merFöreläsning 8: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och
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 merOOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
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 merObjektorientering. 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 merProgrammering för språkteknologer I, VT2012. Rum
Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska
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 merString [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning
Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet
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 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 merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
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 merFöreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt
Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras
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 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 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 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 merDD2310. 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 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 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 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 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 merErfarenheter från labben
Erfarenheter från labben Bra Jobbat! Lite ont om plats... Parprogrammering? Skillnad mellan program och funktion! Skillnad mellan uttryck och kommando! Välj bra variabelnamn! Vad göra om det blir fel?
Läs merGrundkurs 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 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 merAtt 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 merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse
Läs merInstuderingsfrågor, del D
Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt
Läs merLektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)
Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades
Läs merObjektorienterad Programmering DAT043. Föreläsning 1 15/1-18 Moa Johansson
Objektorienterad Programmering DAT043 Föreläsning 1 15/1-18 Moa Johansson Information Lärare: Moa Johansson Assistenter: Klara Granbom Niklas Gustafsson Elias Hällqvist Jakob Wall (lab mån) (lab fre) (lab
Läs merFöreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
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 merTentamen , 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 merOOP 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 merTDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
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 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 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 mertentaplugg.nu av studenter för studenter
tentaplugg.nu av studenter för studenter Kurskod Kursnamn UU-76062 Inledande programmering i Java Datum 2014-07-13 Material Tentamen Kursexaminator Betygsgränser Tentamenspoäng G 30; VG 36 40 (VG) Övrig
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merIntroduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014
Introduktion till Datalogi DD1339 Föreläsning 3 29 sept 2014 Ett lite intelligentare program? Klassen Rectangle Rectangle height width color setheight setwidth getcolor getarea Rectangle public class Rectangle{
Läs merFöreläsning 10. Pekare (Pointers)
Föreläsning 10 Pekare (Pointers) Dagens kluringar int a=5; int f(int b) a--; b++; return b; int main() int a=3; printf("%d,",f(a)); printf("%d",a); return 0; int f(int a) if(a==1) return a; else return
Läs merÖversikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll 2010-04-22
Översikt 732G11 PROGRAMMERING 1 Institutionen för datavetenskap Om kursen Vad är programmering (bra för)? Programmeringsspråket Java Utvecklingsmiljön Eclipse Genomgång av några programexempel Programmering
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 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 merFunktioner. Linda Mannila
Funktioner Linda Mannila 13.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Intro till funktioner och moduler Villkorssatsen
Läs merTDDE10 TDDE11, 725G90. Gemensam kurswebsida på:
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 1 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av Java Hello World!
Läs merLösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-16, TDA540 Dag: 2017-01-09, Tid: 14.00-18.00 Uppgift 1 a) class används för en klassdeklaration
Läs merFöreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen
Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande
Läs merOutline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler
Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa
Läs merTentamen ID1004 Objektorienterad programmering April 7, 2015
Ordinarie tentamen för ID1004 Objektorienterad programmering, 7 april 2015 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av en obligatorisk del och
Läs merF7 - Arrayer. ID1004 Objektorienterad programmering Fredrik Kilander
F7 - Arrayer ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Array, arrayer, arrayen En array är en lista av variabler av samma typ Arrayen har en fast längd (antal element) Enskilda
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 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 merLösningsförslag till tentamen för TDA540 Objektorienterad Programmering
Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-7, TDA540 Dag: 208-0-3, Tid: 4.00-8.00 Uppgift a) class används för en klassdeklaration som
Läs merAnteckningar 1: Grundläggande saker
UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering
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 merLite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output
Programmering hh.se/db2004 Föreläsning 5: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite mer om Javas stöd för fält Hur många element har ett fält?
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 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 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 merProgrammeringsteknik 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 merUppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer
F6 Observera att när man utvecklar program så är inte alla lösningar på vägen korrekta. Speciellt den här gången så finns många OH med program som inte fungerar eftersom det är just det vi skall se på
Läs merDatastrukturer. 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 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 merParsing 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 merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
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 merFöreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk
Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program
Läs merOOP 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 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 mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel
732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public
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 merDagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?
Programmeringsteknik och Matlab Övning 2 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 mer4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &
TelefonKostnad static Math static $ & )&* +,-&. 0 +& + & 3 356+573 ) & & 6 3 3 & 3 * 6 3.:; < = 3 = 6 ; < : & >?.;,;@.A@;0,0,? @B0 C,0 > *. > 5 C D & D 5 * &! ; 66C! * C, 0 E,&! 0 F,G0 >: = = C 3 & HI
Läs merOMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15
OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 130823 kl. 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Läs merFö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 merF6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander
F6 Objektorienterad design ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se långa ord AKTIVITETER I PROGRAMVARUUTVECKLING Iterativ utveckling Kravspecifikation Design Implementation Testning
Läs merVariabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
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 merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs mer