OOP Objekt-orienterad programmering



Relevanta dokument
OOP Objekt-orienterad programmering

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

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

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

Föreläsning 3-4 Innehåll

F4. programmeringsteknik och Matlab

OOP Objekt-orienterad programmering

SMD 134 Objektorienterad programmering

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 3: Booleans, if, switch

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

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

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

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

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

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

Objektorienterad programmering i Java

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

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

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

Tentamen OOP

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

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

TENTAMEN OOP

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Klassdeklaration. Metoddeklaration. Parameteröverföring

Föreläsning 2, vecka 8: Repetition

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

Föreläsning 1 & 2 INTRODUKTION

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

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

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

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

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

TENTAMEN OOP

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

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

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

Lite logik. Kap 6: Sid 2

Tentamen , Introduktion till Java, dtaa98, dtea53

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

TDIU01 - Programmering i C++, grundkurs

TENTAMEN OOP

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.

Del A (obligatorisk för alla)

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

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Föreläsning 6: Metoder och fält (arrays)

TDDC77 Objektorienterad Programmering

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Programmering A. Johan Eliasson

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

Skillnader mellan Python och Java

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

JAVAUTVECKLING LEKTION 3

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

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

Objektorienterad Programmering (TDDC77)

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

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

Tentamen ID1004 Objektorienterad programmering December 15, 2012

OOP Tenta

JAVAUTVECKLING LEKTION 8

Typkonvertering. Java versus C

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

Objektorienterad Programmering (TDDC77)

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

DD2310. Javaprogrammering för Pythonprogrammerare. Johan Boye

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

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

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

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

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 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

Lite 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

TDIU01 - Programmering i C++, grundkurs

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

Objektorienterad programmering i Java

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen

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

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)

Föreläsning 1 & 2 INTRODUKTION

Del A (obligatorisk för alla)

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

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

Objektorienterad programmering

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

Iteration. Föreläsning 3. TDA540 - Objektorienterad Programmering

Instuderingsfrågor, del A

725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack

(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

JAVAUTVECKLING LEKTION 7

Hur ser ett Java-program ut?

Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen

Tentamen. Lösningsförslag

Föreläsning REPETITION & EXTENTA

Transkript:

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 ok; x=23; d=45.97; ch='a'; ok=true; int tal=10; int summa; summa=x+tal; Prefixet final ger konstant, kan ej förändras final int MAX=100; Konstanter brukar skrivas med versaler int sum=x+tal; double d1, d2, d3; 1

Enkel datatyp kontra objekt OOP F2:3 int tal1, tal2; tal1=35; tal2=112; tal1=tal2; String s1, s2; s1=new String("Hej"); s2=new String("Hopp"); s1=s2; Kan skrivas som: s1="hej"; s2="hopp"; Hur fungerar operatorn +? int sum=tal1+tal2; String ny=s1+s2; Programsatser OOP F2:4 Tilldelning Output Input <variabel> = <värde/uttryck>; System.out.print System.out.println Via ett Scanner-objekt som skapas med: Scanner sc=new Scanner(System.in); (alternativt input/output med JOptionPane) Selection if-satsen switch-satsen Iteration while-loopen do while-loopen for-loopen 2

Flödesstyrning OOP F2:5 Sekvens Flera saker skall göras. Många programsatser i rad. Inbördes ordning viktig. Selection Ibland skall man göra en sak, ibland inte. T.ex. om det är skottår så finns 29 februari, annars inte. Om det regnar ute så ta med ett paraply. Iteration Något skall göras flera gånger. Fråga efter alla personernas namn, tills alla svarat. Knäck åtta ägg och lägg innehållet i en bunke. if-satsen OOP F2:6 if (<villkor>) <programsats>; Vad är ett villkor? if (<villkor>) <programsats1>; else <programsats2>; Scanner sc=new Scanner(System.in); System.out.print("Temperatur? "); int temp=sc.nextint(); Om temperaturen är under 5 grader så skriv "Kallt" annars skriv "Varmt" Om fler än en programsats? Om fler än två olika alternativ? 3

Villkor (booleska uttryck) OOP F2:7 Jämförelse-operatorer: < <= > >= ==!= (operanderna enkla datatyper) int x=17; if (x>10)...; if (x==25)...; Logiska operatorer: &&! if (x>10 && x<20)...; String ar jämförs INTE med dessa operatorer. String namn1="hasse"; String namn2="hasse"; if ( namn1.equals(namn2) )... ; //equals blir true om INNEHÅLLET i namn1 och namn2 är lika switch-satsen switch (<uttryck>) { case <värde>: <programsatser> case <värde>: <programsatser> default: <programsatser> Uttryck och värde måste vara av heltalstyp eller char Hoppar till den case som matchar uttrycket. Exekverar resten av programsatserna. break-satsen bryter switch System.out.print("Månad? "); int månad=sc.nextint(); OOP F2:8 switch(månad){ case 1: System.out.println("Januari); case 2: System.out.println("Februari"); case 3: System.out.println("Mars"); case 4: System.out.println("April"); default: System.out.println("Annan"); 4

OOP F2:9 System.out.print("Månad? "); int månad=sc.nextint(); switch(månad){ case 1: System.out.println("Januari); case 2: System.out.println("Februari"); case 3: System.out.println("Mars"); case 4: System.out.println("April"); default: System.out.println("Annan"); I vissa länder, t.ex. USA, används Fahrenheit istället för Celsius för temperatur. Kan vara förvirrande. Omräkning enligt: OOP F2:10 fahrenheit = 9/5 * celsius + 32 import java.util.scanner; class Convert{ public static void main(string[] args){ Scanner sc=new Scanner(System.in); System.out.print("Temperatur i celsius: "); int cels=sc.nextint(); int fahr=9/5*cels+32; System.out.println("Temperatur i fahrenheit = "+fahr); 5

Operatorer Prioritetsordning Operatorer 1 []. (metod anrop) ++ -- 2 ++ -- + - ~! 3 new (cast) 4 * / % 5 + - 6 << >> >>> 7 < <= > >= instanceof 8 ==!= 9 & 10 ^ 11 12 && 13 14?: 15 = += -= *= /= %= OOP F2:11 OOP F2:12 Ta fram en del av ett heltal, t.ex. ett datum. System.out.print("Ange datum: "); int datum = scan.nextint(); Anta att datum t.ex. innehåller 20101118 int år = datum/10000; int dag = datum%100; int månad = datum/100%100; Kolla om året är ett skottår: if (år%4==0) System.out.println("Skottår"); 6

Flera variabler av samma sort - arrayer OOP F2:13 Varje variabel som deklareras får ett utrymme i primärminnet. int tal; double d; tal=43; d=7.85; tal 43 d 7.85 En array deklareras som <typ>[ ] int[] arr; arr (inget utrymme finns...) Utrymmet måste skapas, görs med new arr = new int[5]; arr[0]=28; arr 28 43 12 19 193 arr[1]=43; arr[2]=12; arr[3]=19; arr[4]=193; 0 1 2 3 4 Array OOP F2:14 Deklaration: int[] arr; int arr[]; Skapas med new arr=new int[25]; //Alternativ deklarering //Alltid index från 0 och uppåt Indexering med [<index>] arr[3]=12; Längden kan kollas med length int max=arr.length; //max får värdet 25 7