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

Relevanta dokument
Parameteröverföring. Exempel. Exempel. Metodkropp

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

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

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

SMD 134 Objektorienterad programmering

Java Sommarkurs. Institutionen för datavetenskap. Här sitter vi. Kursen kontaktpersoner utbildningsprogram

Personal Objektorienterad programmeringsmetodik 5DV081 5DV109

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

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

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

Föreläsning 1 & 2 INTRODUKTION

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

Objektorienterad Programmering (TDDC77)

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

F4. programmeringsteknik och Matlab

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

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

TDIU01 - Programmering i C++, grundkurs

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

Föreläsning 3-4 Innehåll

(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

Programmeringsteknik med C och Matlab

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

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

Tentamen OOP

Objektorienterad Programmering (TDDC77)

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

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

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

TDDC77 Objektorienterad Programmering

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

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

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

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Övning2. Variabler. Data typer

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

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

Classes och Interfaces, Objects och References, Initialization

TDDC77 Objektorienterad Programmering

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

Studentportalen UNIX-konton (systemansvariga P4118) Lärare: Tom Smedsaas,

Enkla datatyper minne

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

Anteckningar 1: Grundläggande saker

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

PROGRAMMERING 2 GRUNDLÄGGANDE SEMANTIK 4

Objektorienterad programmering Föreläsning 4

Föreläsningsmaterial (Syntax och variabler)

Föreläsning REPETITION & EXTENTA

Programmering i C++ EDA623 Mer om klasser. EDA623 (Föreläsning 6) HT / 26

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

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

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

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

OOP Objekt-orienterad programmering

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

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

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

1 Funktioner och procedurell abstraktion

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

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

DELPROV 1 I DATAVETENSKAP

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

OOP Objekt-orienterad programmering

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Objektorienterad programmering i Java

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.

Övningar Dag 2 En första klass

Undervisning. Examination

OOP Objekt-orienterad programmering

Undervisning. Examination

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

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

Föreläsning 2 - Intro till Java

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

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

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

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

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

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

Tentamen Programmeringsteknik II och NV2 (alla varianter) Skriv bara på framsidan av varje papper.

Lösningsförslag: Instuderingsfrågor, del A

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Instuderingsfrågor, del A

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

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

Kursplanering för EE3D i kursen Programmering 1, 100p.

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

IT för personligt arbete F6

SMD 134 Objektorienterad programmering

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

Transkript:

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 och algoritmer Objektorienterad programmeringsmetodik mm. Programspråk Java, C, Objective C, ML, m. fl. 2

Institutionen för datavetenskap 2 + 2 utbildningsprogram Civ Ing. Teknisk datavetenskap, Interaktion och design Kandidatprogram Kognitionsvetenskap, Datavetenskap 4 Masterprogram C:a 90 anställda Forskning inom många olika ämnen: Artificiell intelligens och kognition, datalogi, datavetenskaplig didaktik, grid computing, 2

Eleven skall kunna något programmeringsspråks grundläggande datatyper, fördefinierade strukturer och funktioner samt deras regler och syntax kunna analysera programmeringsuppgifter och formulera strukturerad pseudokod samt konstruera enkla algoritmer kunna systemera och strukturera programmeringsarbetet samt skriva enkla program och felsöka källkod känna till kompilatorns/länkarens arbete från källkod till färdigt program 3

Eleven skall känna till viktiga operativsystemstandarder för bl.a. teckenkoder och utmatningsrutiner känna till språkens allmänna prestanda och egenskaper samt vilka programmeringsuppgifter de är bäst lämpade för. 4

Programmering i Java programmering exekvering exekvering <fil>.java <fil>.class Java programkod översättning kompilator Java bytekod exekvering 5

Programspråk Ett programspråk specificerar ord och symboler som får användas för att skriva program regler som bestämmer hur ord och symboler får sättas ihop Syntaxen beskriver hur giltiga programstrukturer (satser) måste se ut (grammatik) Tilldelning Identifier = Expression ; Värdet av uttrycket i expression tilldelas ( sparas i ) variabeln identifier. Semantiken beskriver vad precis olika satser betyder (dvs hur datorn ska tolka programmen) 6

Klass public class test { } All Java-kod måste stå i en klass 7

Metod public double getarea () { double temp = 0.0; temp = height * width / 2; return temp; } Utför någonting i en klass Metoden ovan beräknar t.ex. arean av en triangel return skickar tillbaka ett värde 8

Identifierare och variabler Identifierare är namn på olika storheter som definieras av programmeraren Identifierare får innehålla bokstäver (även åäö), siffror, understrykningstecknet (_), och valuta tecknen (t ex dollar tecknet) Identifierare får ej inledas med en siffra Identifier Java Letter Java Letter Java Digit Java Letter a - z A - Z $ _ Java Digit 0-9 9

Identifierare och variabler Identifierare måste vara entydiga Java skiljer på stora och små bokstäver, dvs Total är olika total Identifierare för värden eller objekt kallas variabler 10

Reserverade ord Reserverade ord får inte användas som identifierare Exempel på reserverade ord (det finns 59 stycken): abstract boolean class const class extends false float for if implements import int import private public return static this true void while Reserverade ord brukar visas i en annan färg i editorn 11

Variabler och datatyper Variabler används för att spara data Variabler måste deklareras med datatyp och namn innan de får användas Basic Variable Declaration Primitive Type Identifier ; Class Type, En primitiv datatyp kan vara heltal (byte, short, int, long), flyttal (float, double), tecken (char) eller boolean 12

Tilldelning av värden Variabler måste initialiseras Tilldelning Identifier = Expression ; En variabel tilldelas ett (nytt) värde genom = 14

Exempel int value, discount; double net_price; value = 123; net_price = 123.0; discount = -15; net_price = 1.23e2; char acharacter; acharacter = A ; acharacter = \n ; boolean continue = true; Initialisering är tillåten i samband deklarationen! 15

Primitiva datatyper: Hel- och flyttal De olika heltals och flyttals typerna har olika storlek Typ Storlek Minimum Maximum byte short int long 8 bits 16 bits 32 bits 64 bits -128-32,768-2,147,483,648 < -9 x 10 18 127 32,767 2,147,483,647 > 9 x 10 18 float double 32 bits 64 bits +/- 3.4 x 10 38 +/- 1.7 x 10 308 med 7 signifikanta siffror med 15 signifikanta siffror 16

Kommentarer Används för att förklara sådant som inte är självklart Finns två olika // Denna kommentar räcker till slutet av raden /* Allt mellan dessa är en kommentar */ Kompilatorn bryr sig inte om det som står i kommentarerna 17

Primitiva datatyper: Tecken En variabel av datatypen char sparar precis ett så kallat Unicode tecken Det finns 65,536 unika Unicode tecken (16 bit) med tecken och symboler från olika språk, t ex 'å' och 'ö' Alla tecken är ordnade och varje tecken motsvarar en siffra (detta underlättar att kolla om ett tecken ligger t ex mellan 'a' och 'z') 18

Primitiva datatyper: boolean En variabel av datatypen boolean innehåller antingen värdet true eller värdet false Används ofta för att definiera villkor logik Det finns tre logiska operatorer i Java inte (!), och (&&) och eller ( ) a!a a b a && b a b true false false true true true false false true false true false true false false false true true true false 19

Klassen String Hanterar textsträngar Skrivs inom String hälsning= Välkommen ; System.out.println(hälsning); Många operationer och operatorer ensträng + en till Sträng 20

Uttryck 1 Ett uttryck är en programkonstruktion som producerar (evalueras till) ett resultatvärde av en viss datatyp. Ett uttryck kan (bl a) vara: Ett enkelt värde -5, 1.23e2, c, true En variabel smallbluerectangle, PI En metodanrop atriangle.changesize(50, 100); En tilldelning height = newheight 21

Uttryck 2 Ett uttryck är en syntaktiskt korrekt kombination av enkla värden, variabler, metodanrop, tilldelningar och operatorer. Typiska exempel på operatorer: Aritmetiska, t ex +, -, *, /, Logiska:!, &&, Relationala, t ex ==,!=, <, >=, Uttryck kan vara komplexa Priotitetsordning används för att bestämma hur det ska evalueras 22

Prioritetsordning Operatorer med högre prioritet evalueras först Vid samma prioritet avgör associativiteten hos operatorerna (vänster-höger / höger-vänster) Uttryck: Evalueringsordning: Resultat: 5 + 12 / 5-10 % 3 6 3 1 4 2 Använd parenteser för att vara på säkra sidan 23

Exempel Uttryck 2 + 3 * 4 / 2 3 * 13 + 2 (3 * 13) + 2 3 * (13 + 2) 4 * (11-6) * (-8 + 10) (5 * (4-1)) / 2 Resultat 8 41 41 45 40 7 24

Uttryck 3 Resultatvärdets datatyp hos ett uttryck beror på operatorn och datatyperna hos operanderna. Uttryck 17 / 5 17.0 / 5 17 / 5.0 9 / 12 9 / 12.0 6 % 2 7 % 2 Resultat 3 3.4 3.4 0 0.75 0 1 int dollar = 25; float money; money = dollar; // OK, money blir 25.0 dollar = money; // FEL, typerna är // icke kompatibla 25