TDDC77 Objektorienterad Programmering

Relevanta dokument
TDDC77 Objektorienterad Programmering

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

Repetition C-programmering

Introduktion C-programmering

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

Objektorienterad Programmering (TDDC77)

Klassdeklaration. Metoddeklaration. Parameteröverföring

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

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterad Programmering (TDDC77)

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

Programmering A. Johan Eliasson

TDDC77 Objektorienterad Programmering

Objektorienterad programmering Föreläsning 4

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

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

Parameteröverföring. Exempel. Exempel. Metodkropp

SMD 134 Objektorienterad programmering

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

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

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

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

TDDC77 Objektorienterad Programmering

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

Obligatorisk uppgift 5

TDDC77 Objektorienterad Programmering

Räkna med C# Inledande programmering med C# (1DV402)

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

DD1314 Programmeringsteknik

Extramaterial till Matematik Y

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

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

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Övningsuppgifter till föreläsning 2 Variabler och uttryck

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

Användarhandledning Version 1.2

Obligatorisk uppgift 5: Symbolisk kalkylator

kl Tentaupplägg

OOP Objekt-orienterad programmering

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Objektorienterad programmering i Java

Undervisning. Examination

Tentamen i Programmering grundkurs och Programmering C

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Objektorienterad Programmering (TDDC77)

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

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

(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

OOP Objekt-orienterad programmering

Övning2. Variabler. Data typer

F4. programmeringsteknik och Matlab

Beräkningsvetenskap föreläsning 2

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

OOP Objekt-orienterad programmering

Undervisning. Examination

Tentamen i. Programmering i språket C

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

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

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

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

TDIU01 - Programmering i C++, grundkurs

Obligatorisk uppgift: Symbolisk kalkylator

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

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

LÖSNINGSFÖRSLAG TENTAMEN

Repetition och sammanfattning! Förelasning 9.1!! TDA540 Objektorienterad Programmering!

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

Programmeringsteknik I

Föreläsningsmaterial (Syntax och variabler)

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

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

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

List.java. List.java. Printed by Tom Smedsaas

[] Arrayer = Indexerad variabel

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

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

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

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

float Mindre rella tal ( floating point number ) double Rella tal/flyttal ( double precision floating point number )

Logik och kontrollstrukturer

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

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

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?

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

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

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

Algoritmer och interaktiv Python

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Extramaterial till Matematik Y

Obligatorisk uppgift 5: Symbolisk kalkylator

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Styrteknik: MELSEC FX och numeriska värden

Transkript:

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 symbol som gör en viss eller flera operationer. En operator kan ha en, två eller tre operander. En operand kan vara en variabel eller en literal. Till exempel: 3 + 7, 2 * height //height är en variabel

operatorer Det finns 7 typer av operatorer i Java: Simple Assignment Operator Arithmetic Operators Unary Operators Equality and Relational Operators Conditional Operators Type Comparison Operator (ska tas upp senare i kursen) Bitwise and Bit Shift Operators ( ingår inte i kursen) https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html

Single Assignment Operator Tilldelar ett värde, variabel/literal, på sin högersida till en variabel på sin vänstersida. Har två operander som gör den en binär operator. association är från höger till vänster. Det betyder att om det finns flera = i samma instruktion, körs den som finns på högersidan först. Exempel: int a; a = 7;

Task 1-3 minuter Skapa en mapp som heter lec03. Allas tasks på den här föreläsningen ska lagras i lec03. Vad matar följande program ut på skärmen? int b; int a = b = 7; System.out.println(a);

Uttryck - expressions Varje operator med sina operander skapar ett uttryck. Ett uttryck ersätts av ett värde efter operationen är klar. I Single assignment operatorn:s fall ersätts uttrycket av värdet som tilldelas till variabeln på vänstersidan. Exempel: int b; int a = b = 7; I ovanstående exempel är b = 7 ett uttryck som ersätts av 7. I resultat körs int a = 7; av virtuella maskinen i nästa steg.

Arithmetic operators + * / % Additive operator (also used for String concatenation) Subtraction operator Multiplication operator Division operator Remainder operator Exempel: int a = 7; int b = 8; int c = a + b;

Arithmetic expressions Definierat för heltals och flyttalstyper: Addition +, Subtraktion, Multiplikation, Division =, Resten %. t.ex. 18 % 5 ger 3 Om en eller båda operanderna är ett flyttal, resultatet blir också ett flyttal; t.ex. 7.5 / 3 ger 2.5 Om en eller båda operanderna är ett flyttal, resultatet blir också ett flyttal; t.ex. 7.5 / 3.0 ger 2.5 Operanden med största typen, storleksmässigt, bestämmer typen på resultatet mellan flyttalstyperna. När det kommer till heltal, bestäms den närmaste typen, storleksmässigt, som kan lagra resultatet.

Task 2-3 minuter Vilka av följande tilldelningar är fel? int result = 5 + 7; resultat = 5 + 7.0; resultat = 5-7; byte result2 = 50 * 50; float result3 = 5 + 7.0;

Unary operators ++ -! Unary minus operator; negates an expression Kommer innan ett heltal/flyttalsvärde. Increment operator; increments a value by 1 Kommer innan eller efter ett heltal/flyttalsvariabel. Decrement operator; decrements a value by 1 Kommer innan eller efter ett heltal/flyttalsvariabel. Logical complement operator; inverts the value of a boolean Kommer innan eller efter ett boolskt värde.

Prioritet Alla unära operatorer står här. Använd parenteser för att tvinga prioritet!

Inkrementera och kombinera tilldelning med en operator Flera kombinationer är möjliga i Java:

Task 3-3 minuter Vad är skillnaden mellan följande tilldelningar? int int int int a b c b = = = = 7; 3 + 7 * 2 + --a; (3 + 7) * 2 + --a; (3 + 7) * 2 + a--;

Equality and Relational Operators

Equality and Relational Operators Har två operander(binär). Operanderna får inte vara av typen boolean. Association: från vänster till höger. Uttrycket är ALLTID av typen boolean.

Task 4-3 minuter Skriv ett program som deklarerar två variabler av typen int och initierar dem med valfria värden. Sedan skriver programmet ut resultaten av > och <= jämförelser på dem.

Conditional Operators

Conditional Operators Har två operander(binär). Operanderna får BARA vara av typen boolean. Association: från vänster till höger. Uttrycket är ALLTID av typen boolean.

Prioritet Operators Precedence postfix expr++ expr-- unary ++expr --expr +expr -expr ~! multiplicative * / % additive + - relational < > <= >= instanceof equality ==!= logical AND && logical OR assignment = += -= *= /= %=

Java Standard Library

Java Standard Library Innehåller ett tusental klasser som gör olika uppgifter. Till exempel: Grafik Gränssnitt (GUI) Nätverk Matematiska beräkningar Inmatning/utmatning Felhantering Standardbiblioteket ingår i JDK.

JavaSE Javadoc Innehåller information om alla klasser som tillhör till Java Standard Bibliotek. https://docs.oracle.com/javase/7/docs/api/

Inmatning

Inmatning med Scanner Scanner används vid inmatning från tangentbord eller en fil Bryta ner inputen i en sekvens av lexikala element eller tokens

Inmatning med Scanner System.in representerar standard input stream, här tangentbordet Kan också läsa in från en fil (vi tittar på det senare i kursen)

Strängar Exempel på en icke primitiv datatyp, eller en så kallade referenstyper Rader av tecken, TDDC77:are Man kan inte ändra på en sträng efter att ha skapat en (immutable, diskuteras senare i kursen)

Strängar

Task 5-3 minuter Skriv ett program som frågar efter användarens namn och skriver ut Hello INMATADE NAMNET. Programmet ska skriva ut först ett meddelande åt användaren som ger tillräcklig information till honom/henne om datan som ska matas in.

Thanks for listening!