Föreläsning4 Repetition slingor Metoder. while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int.

Slides:



Advertisements
Liknande presentationer
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Advertisements

Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Array Skriv ett program som frågar följande: ”Hur många tal vill du mata in?” användaren matat in ett tal t.ex n. då frågar programmet n ggr följande.
Funktioner och programorganisation
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Klassarv och inkapsling
OOP Objekt-orienterad programmering
Metoder i java Det finns två typer av metoder i java
Välkommen Vahid Mosavat
Programmeringsteknik för K och Media
Programmeringsteknik K och Media
Programmeringsteknik för K och Media
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Programkodens uppbyggnad
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Föreläsning 8 Appletprogram/fristående grafiska program Rita linjer, rektanglar mm Skriva text Byta färg Appletprogram html.
Föreläsning 6 Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Strömmar Vid läsning och skrivning används något som kallas strömmar.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
i olika programmeringsspråk
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Programmering i C# 3. Klasser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Klasser och objekt Klasser, objekt och instansvariabler
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Programmeringsteknik för Media1 & K1
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser -Att definiera egna klasser -Klassvariabler -Klassmetoder.
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
Föreläsning 8 Arv och abstrakta klasser. Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen ( extends.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 5 Arrayer & ArrayList Hur man använder API:n
Problemlösningsmetodik
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Föreläsning 12 Om slutprovet. Repetition –deklaration av variabler –skapande av objekt (instansiering) –Vektorer och Vector-klassen –Klasser –Instans-/klassvariabler.
Föreläsning 4 Klasser Och Objekt.
1. Ett problem/uppgift.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
INTRODUKTION TILL PROGRAMMERING
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
Föreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305
Övning 3. Repetition Metoder class RepetitionMetoder { public static void main(String [] args) double längd = 2.0; double bredd = 1.0; double area =
Föreläsning 5 Objekt Klasser Konstruktorer Metoder Minnesbilder av objekt.
Programmeringsteknik för K och Media
Föreläsning 5 Klasser och instanser
Föreläsning 7 programmeringsteknik och Matlab 2D1312/2D1305 Metoddeklaration och parametrar Arrayer och ArrayList.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
OOP&M - teori1 OOP– Föreläsning vecka Genomgång uppgifter Arbetsmetoder Repetition Kapitel 14 Metoder.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 13 programmeringsteknik och Matlab Funktioner, styrstrukturer, mer om matriser.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Föreläsning 3: Booleans, if, switch
Presentationens avskrift:

Föreläsning4 Repetition slingor Metoder

while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) while-sats int i=0; while (i<10) { System.out.println(”programmering är kul”); i++; }

Operatorer && och || Skriv et program som ställer 2 följande frågor av användaren: 1.Är det en java bok du vill köpa? 2.Vad kostar boken? Sedan råder programmet med en utskrift om användaren ska gå till skolan eller inte, följande är regler: ”köp inte”: om det inte är en Java bok ”köp inte”: om det är en Java bok och priset är mer än 300. ”köp snabbt”: om det är en Java bok och priset är mindre än 300.

Metoder Vissa beräkningar behöver man göra ofta i ett program. Istället för att skriva satserna som utför beräkningen flera gånger kan man definiera en metod som gör beräkningen en gång och sedan anropa metoden flera gånger. Genom att deklarera metoder så minskar man kod upprepningar och gör det att man får mindre kod och därmed får man ett kortare program.

Exempel import java.io.*; class Person { public static void main(String[] args)throws IOException{ String namn; int ålder; String mailAdress; BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); System.out.print(”Vad heter du?”); namn = stdin.readLine(); System.out.print(”Hur gammal är du?”); String ålderStr = stdin.readLine(); ålder = Integer.parseInt(ålderStr); System.out.print(”vad har du för ?”); mailAdress = stdin.readLine(); int född = ålder; System.out.println(namn+” är född år ” +född+” kan nås via mail: ”+ mailAdress); } }

Vilka delar i main upprepas flera gånger … public static void main(String []args)throws IOException{ System.out.print(”Vad heter du?”); namn = stdin.readLine(); System.out.print(”Hur gammal är du?”); String ålderStr =stdin.readLine(); ålder = Integer.parseInt(ålderStr); System.out.print(”vad har du för ?”); mailAdress = stdin.readLine(); int född = ålder; System.out.println(namn+” är född år ” +född+” kan nås via mail: ”+mailAdress); } 1 2 3

Hur fungerar metoder? Är som ett recept eller en funktion Satserna i metoden utförs bara då metoden anropas Inparametrar – indata, information som behövs i metoden Returvärde – utdata, metodens resultat

Deklaration av metoder static String metodnamn(String parameternamn) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String De får vi välja hur som helst

Hur deklarerar man en metod? Returvärdets typ/klass –Primitiv datatyp t ex int, double –Referens datatyp t ex String, Color –void om metoden inte returnerar något Metodens namn Formella parametrars typ och namn –Skrivs inom parentes Satser (det metoden ska göra varje gång den anropas) Retursats (krävs bara för metod som returnerar något) –Det värde som returneras måste vara av samma typ som angavs i början av metoddefinitionen

System.out.print(”Vad heter du?”); namn = stdin.readLine(); System.out.print(”Hur gammal är du?”); String ålderStr =stdin.readLine(); System.out.print(”vad har du för ?”); mailAdress = stdin.readLine(); på vilket sätt är de lika? Det syns att System.out.println() anropas (används) i första raden i alla tre delar. Det syns att stdin.readLine() anropas (används) i andra raden i alla tre delar. vad finns för olikheter då? t.ex ”vad heter du”, ”hur gammal är du” och ”vad har du för ” är olika men alla är av samma typ alltså String.

static String läsSvar(String frågan){ System.out.println(frågan); String svar = stdin.readLine(); return svar; } Metoden kommer att se ut som nedan

Följande modell hjälper att skriva ihop en metod som vi önskar. Metod ”vad heter du?” ”Hur gammal är du?” ”vad har du för ?” Det syns att metoden tar en strängar som indata och returnerar den inlästa strängen som utdata ”vahid” ”18” Metoden har till uppgift att skriva ut på skärmen den sträng som kommer in som indata till metoden samt låta användaren mata in en sträng och inmatade strängen ska returneras.

Den nya klasskoden ser så här ut import java.io.*; class Person { public static void main(String[] args)throws IOException{ String mailAdress; BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); String namn = läsSvar (”Vad heter du?”); String ålderStr = läsSvar(”Hur gammal är du?”); int ålder = Integer.parseInt(ålderStr); System.out.print(”vad har du för ?”); mailAdress = läsSvar (”vad har du för ?”); int född = ålder; System.out.println(namn+” är född år ” +född+” kan nås via mail: ”+ mailAdress); } static String läsSvar(String frågan){ System.out.println(frågan); String svar = stdin.readLine(); return svar; }

main Program m1() m2() m3() indata

main Program m1() m2() m3() utdata

Typkonvertering (cast) Används när man explicit vill ändra typen av ett uttryck. Exempel: double x = 2.75; int i = (int) x; i får här värdet 2 Fungerar bara för rimliga konverteringar.

Exempel Skriv ett program som frågar efter radien för en cirkel och beräknar omkrets och arean för cirkeln med hjälp av två metoder. -utöka programmet sedan så att programmet frågar om man vill ange ett nytt radie avrje gång, så att man kan beräkna flera gånger utan att programmet avslutas.