Programkodens uppbyggnad

Slides:



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

INTRODUKTION TILL PROGRAMMERING
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.
Imperativ Programmering
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Klassarv och inkapsling
Metoder i java Det finns två typer av metoder i java
Föreläsning 4 Python: mera om funktioner och parametrar
Övning5 Så här ska man tänka när man löser uppgift 1 på tentan lite grafik, så här söker man genom en lista så här läser man från en fil i java lösa uppgift.
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.
Att programmera i språket Java
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
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.
Next previous Introduktion till Java Av Björn Eiderbäck Adress: Rum 1641, 6tr NADA Osquars Backe 2 Tel: OOMPAE 2000.
1 Föreläsning 6 Klass Object, instans av klass public/private Klassvariabler och klassmetoder.
Alice in Action with Java
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Objektorienterad programmering i Java
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
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.
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Objektorienterad Modellering Programmering och Analys
Programmeringsteknik för Media1 & K1
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
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 8 ( ) INNEHÅLL:Klasser: -Konstruktorer -Klassvariabler -Instansmetoder -Privata.
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.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
TILLÄMPAD DATALOGI (TILDA) Övning 3
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.
PROGRAMMERINGSTEKNIK Övningsgrupp 3 Marcus Hjelm
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
INTRODUKTION TILL PROGRAMMERING
Class VattenKraft{ public static void main(String[] args){ int num=150; int i, totflöde, maxflöde; int[] fall = new int[num]; //vattenflödet i vattenfallen.
TILLÄMPAD DATALOGI (TILDA) Övningsgrupp 2 Marcus Hjelm
TILLÄMPAD DATALOGI (TILDA) Övning 1 Marcus Hjelm
OOP F5:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling.
Ö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 =
TILLÄMPAD DATALOGI (TILDA) Övning 2
TILLÄMPAD DATALOGI (TILDA) Övning 2
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 9 Inläsning och utskrift på fil –SimpleTextFileReader –SimpleTextFileWriter Felsökning Java API.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
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.
1 Föreläsning 6 Repetition på metoder Referenser Objekt som parametrar public/private Klassvariabler och klassmetoder.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 7 Repetition Instansvariabler och klassvariabler Klassmetoder och Instansmetoder.
1 Mer om metoder, variabler, klasser och objekt. Kursboken: - Kapitel 6 - Kapitel 8.
Presentationens avskrift:

Programkodens uppbyggnad Deklaration av klass { Deklaration av variabel1 (klassvariabler) Deklaration av variabel2 (instansvariabler) Flera instansvariabler och klassvariabler kan deklareras här … Deklaration av metode1 (){ deklaration av lokala variabler ... } Deklaration av metode2 (){ deklaration av lokala variabler ... } Flera instansmetoder , klassmetoder och konstruktörer kan deklareras här … }

Variabler En variabel kan vara någon av följande: Klassvariabel Instansvariabel Lokalvariabel

Kännetecken för variabler Kännetecken för en klassvariabel är: 1. deklareras med nyckelordet static 2. deklareras alltid utanför alla metoder men inom klassen Kännetecken för en instansvariabel är: 1. deklareras INTE med nyckelordet static 2. deklareras alltid utanför alla metoder men inom klassen Kännetecken för en lokalvariabel är: 1. deklareras INTE nyckelordet static 2. deklareras alltid inom en metod eller som parameter

1.utanför metoder 2.med static Variabler deklareras instansvariabler 1.utanför metoder 2. utan static klassvariabler 1.utanför metoder 2.med static lokala variabler 1.inuti en metod 2.utan static

Metoder En metod kan antingen vara en Klassmetod Instansmetod Konstruktör

Kännetecken för metoder Kännetecken för en klassmetod är att: 1. deklareras med nyckelordet static 2. har en returtyp Kännetecken för en instansmetod är att: 1. deklareras INTE med nyckelordet static Kännetecken för en konstruktör är att: 2. har ingen returtyp

Metod deklareras Klassmetod med static med returtyp Instansmetod utan static Konstruktör utan returtyp

Deklaration och initiering av Deklaration av klassmetod klassvariabler och klassmetoder Deklaration av klassvariabler import java.io.*; class Person { static String namn; static byte ålder; static String mailAdress; static BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in)); public static void main(String []args)throws IOExcep…{ System.out.print(”Vad heter du?”); namn = stdin.readLine(); System.out.print(”Hur gammal är du?”); String ålderStr =stdin.readLine(); ålder = Byte.parseByte(ålderStr); System.out.print(”vad har du för e-mail?”); mailAdress = stdin.readLine(); int född = 2001 - ålder; System.out.println(namn+” är född år ” +född+” kan nås via mail: ”+mailAdress); } Deklaration och initiering av klassvariabel Deklaration och initiering av lokal variabel Deklaration av klassmetod

Vi delar main till flera små delar … 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 = Byte.parseByte(ålderStr); System.out.print(”vad har du för e-mail?”); mailAdress = stdin.readLine(); int född = 2001 - ålder; System.out.println(namn+” är född år ” +född+” kan nås via mail: ”+mailAdress); } 1 2 3

på vilket sätt är de lika? Ok,vi tittar närmare på de: 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 e-mail?”); mailAdress = stdin.readLine(); 1 2 3 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 e-mail” är olika men alla är av samma typ alltså String.

De får vi välja hur som helst Hur ser klassmetoden ut i java kod? 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

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

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

Skriv ett program som frågar efter temperatur Uppgift 1 Skriv ett program som frågar efter temperatur i celsius och skriver ut motsvarnde temperatur i Farenheit och Kelvin. F=32+(1.8 x C) K=273.2 + C rsgyhreh

Uppgift 2 Skriv ett program som frågar användarens förnamn, efternamn och studiestatus sedan skriver ut användarens användarnamn samt email-adress. obs! e-mail adress består av studiestatus, två första bokstäver i eftrenamnet och den sista bokstaven i förnamnet: Krav: Programmet ska bestå av två klasser. I den ena klassen (körbara) ska main deklareras. I den andra ska finnas några metoder som genererar fram användarnamn och e-mail adress. Användaren ska kunna generera flera användarnamn och e-mail adresser utan att behöva starta programmet igen för en ny körning.

Exempel av körning av programmet För att få lite bättre bild av hur programmet ska fungera brukar man skriva några scenario: En körninga kan se så här ut(Scenario 1): Vad heter du i förnamn? Vahid Vad heter du i efternamn? Mosavat Vad har du för studiestatus? d97 Ditt användar namn är d97_mod Ditt e-mail adress är d97_mod@d.kth.se Vill du generera ett nytt användarnamn?(j/n) j Vad heter du i förnamn ? … (här kommer programmet att fråga efter namn osv igen) En annan körninga av samma program kan se så här ut(Scenario 2): Vad heter du iförnamn? Per Vad heter du i efternamn? Johansson Vad har du för studiestatus? m00 Ditt användar namn är m00_jor Ditt e-mail adress är m00_jor@m.kth.se Vill du generera ett nytt användarnamn?(j/n) n (Här kommer programmet avslutas)