Klassdeklaration. Metoddeklaration. Parameteröverföring

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

Programmering A. Johan Eliasson

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

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

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

Personal Objektorienterad programmeringsmetodik 5DV081 5DV109

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

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

TDIU01 - Programmering i C++, grundkurs

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

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

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

SMD 134 Objektorienterad programmering

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

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F4. programmeringsteknik och Matlab

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

Programmeringsteknik I

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

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

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

Övning2. Variabler. Data typer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

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

Objekt och klasser - Introduktion

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

(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

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Programmeringsteknik med C och Matlab

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

Programmering i C, 7,5 hp

TDDC77 Objektorienterad Programmering

Föreläsning 3-4 Innehåll

TDDC77 Objektorienterad Programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

TDIU01 - Programmering i C++, grundkurs

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

Föreläsning 2, vecka 8: Repetition

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)

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

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

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

Tentamen ID1004 Objektorienterad programmering December 15, 2012

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

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

OOP Objekt-orienterad programmering

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

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

Classes och Interfaces, Objects och References, Initialization

Enkla datatyper minne

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Data, typ, selektion, iteration

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

OOP Objekt-orienterad programmering

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

Objektorienterad Programmering (TDDC77)

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

TDDC77 Objektorienterad Programmering

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

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

Objektorienterad programmering i Java

Logik och kontrollstrukturer

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

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

Objektorienterad programmering Föreläsning 4

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

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

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

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

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

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

Typkonvertering. Java versus C

Personal. Objektorienterad programmeringsmetodik 5DV133. Kursmål. Här sitter vi MIT-huset våning 4. Examination. Kursens uppläggning.

Språket Python - Del 1 Grundkurs i programmering med Python

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

Pascal... Pascal. Pascal... Pascal...

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

C++ - En introduktion

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

2D1339 Programkonstruktion för F1, ht 2004

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

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

Fö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 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

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

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Tentamen OOP

i LabVIEW. Några programmeringstekniska grundbegrepp

Tentamen Grundläggande programmering

LÖSNINGSFÖRSLAG TENTAMEN

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

Variabler och konstanter

Planering Programmering grundkurs HI1024 HT 2014

Tentamen ID1004 Objektorienterad programmering May 29, 2012

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.

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

En kort text om programmering i C.

Transkript:

Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar variabel deklaration Class Body 70 Syntax: Basic Method Declaration Modifier Metoddeklaration Type void Identifier Ej resultat Parameters Method Body public void changesize (int newheight, int newwidth) Parameter public float getarea ( ) Resultatets datatyp 71 Parameteröverföring I Java överförs alla parameter by value Värdet på den aktuella parametern kopieras till den formella parametern (motsvarar tilldelnings) När en referens överförs blir den formella parametern ett alias för aktuell parameter return-en anger vilket värde som returneras (dvs överförs tillbaka) Överförs också by value 72 Programmeringsfel En dator gör inte det programmeraren menade, den gör precis det ett programs semantik föreskriver. Man kan skiljer tre typer av fel Kompileringsfel När kompilatorn upptäcker att syntaxreglerna ej har följts eller att vissa typer ej är kompatibla (t ex int i = c ;) Run-time fel När programmet kraschar när det körs, t ex pga division med noll eller att typer ej är kompatibla Logiska fel När programmet verkar fungera bra, men levererar fel resultat 73 Primitiva datatyper: Hel- och flyttal De olika heltals och flyttals typerna har olika storlek Typ byte short int long float double Storlek 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits Minimum -128-32,768-2,147,483,648 < -9 x 10 18 Maximum 127 32,767 2,147,483,647 > 9 x 10 18 +/- 3.4 x 10 38 med 7 signifikanta siffror +/- 1.7 x 10 308 med 15 signifikanta siffror 74 Primitiva datatyper: Tecken En variabel av datatypen char sparar precis ett s k Unicode tecken Värdemängden är en ordnad uppräkning av 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') Se t.ex. http://www.unicode.org/ för detaljer 75 1

Primitiva datatyper: boolean En variabel av datatypen boolean innehåller antingen värdet eller värdet Används ofta för att definiera logik Det finns tre logiska operatorer i Java inte (!), och (&&) och eller ( ) a!a a b a && b a b 76 Konstanter Som variabler fast deras värde får inte ändras Markeras med reserverade ordet final Guideline: Använd bara stora bokstäver final double PI = 3.14159; final char NEWLINE = \n ; Fördelar Vettiga namn istället för konstiga siffror eller tecken Lättare att förstå koden Enklare att uppdatera 77 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 primitivt värde (literal) -5, 1.23e2, c, En variabel/konstant smallbluerectangle, PI En metodanrop atriangle.getarea() En tilldelning height = newheight 78 Uttryck 2 Ett uttryck är en syntaktiskt korrekt kombination av literaler, variabler, metodanrop, tilldelningar och operatorer. Typiska exempel på operatorer: Aritmetiska, t ex +, -, *, /, Logiska:!, &&, Relations, t ex ==,!=, <, >=, Uttryck kan vara komplexa Prioritetsordning för att bestämma hur det ska evalueras Se http://java.sun.com/docs/books/tutorial/java/nutsandbolts/expressions.html för en fullständig lista 79 Relations operatorer == Identiskt lika!= Inte identiskt lika < Mindre än <= Mindre än eller lika med > Större än >= Större än eller lika med 80 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 (5 + (12 / 5)) - (10 % 3) 81 2

Uttryck 2 + 3 * 4 / 2 3 * 13 + 2 (3 * 13) + 2 3 * (13 + 2) Exempel 4 * (11-6) * (-8 + 10) (5 * (4-1)) / 2 Resultat 8 41 41 45 40 7 82 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.5-7 % 2.5 Resultat 3 3.4 3.4 0 0.75 0 2.0-2.0 int dollar = 25; float money; money = dollar; // OK, money blir 25.0 dollar = money; // FEL, typerna är // icke kompatibla 83 Satser Satserna (statements) är grundinstruktionerna i ett programspråk. Block används för att gruppera er OBS! Varje kan i sin tur vara ett block 84 Ordning på erna Sekvens Satserna exekveras en efter en Standard Urval Man väljer om er ska exekveras eller ej if-, if-else-, switch- Repetition Satsen exekveras ett visst antal gånger while-loop, do-loop, for-loop 85 if-en Villkor if () Villkoret är ett uttryck Måste evaluera till / Ett s k boolskt uttryck Kan vara mer eller mindre komplicerat i == j!(a > b) && (i == j+5-k) 86 87 3

if-else-en if () 1; else 2; 1 2 switch (expression) case value1: 1; break; case value2: 2; break; switch-en Uttrycket måste vara heltal eller tecken Motsvarar nästade if-er 88 default: N; OPTIONAL 89 while-en while () Gå runt i varv Villkoret evalueras på nytt före varje varv Satsen utförs/utförs inte en gång till Villkoret testas inte kontinuerligt Satsen utförs alltid helt 90 Oändliga loopar Det får hända att en inte exekveras Villkoret måste någon gång bli falskt, annars kommer man inte ut ur loopen Vanligt logiskt fel Se t ex int count = 1; while (count!= 25) count = count *2; System.out.println ("Done"); // exekveras aldrig 91 do do-en while (); Motsvarar omvänd while- Villkoret evalueras på nytt efter varje varv Satsen utförs minst en gång for-en for (initialisering; ; förändring) motsvarar initialisering; while () förändring; Fast loop Initialisering, och förändring brukar refererar till samma variabel Loop-variabeln bör inte ändras i erna 92 93 4

for-en Exempel initialisering förändring for (int antal=1; antal < 75; antal++) System.out.println (antal); for (int num=5; num <= total; num = num*2) sum = sum + num; System.out.println (sum); 94 95 Programflödet Programflödet är sekventiellt Sats efter i den beskrivna ordningen Återhoppet sker till anropsstället method1() method2(); method2() return ; 96 5