Presentation laddar. Vänta.

Presentation laddar. Vänta.

Programkodens uppbyggnad

Liknande presentationer


En presentation över ämnet: "Programkodens uppbyggnad"— Presentationens avskrift:

1 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 … }

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

3 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

4 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

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

6 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

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

8 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 ?”); mailAdress = stdin.readLine(); int född = å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

9 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 ?”); 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

10 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 ?”); 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 ” är olika men alla är av samma typ alltså String.

11 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

12 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; }

13 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 ?”); 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)throws IOException{ System.out.println(frågan); String svar=stdin.readLine(); return svar;

14 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= C rsgyhreh

15 Uppgift 2 Skriv ett program som frågar användarens
förnamn, efternamn och studiestatus sedan skriver ut användarens användarnamn samt -adress. obs! 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 adress. Användaren ska kunna generera flera användarnamn och adresser utan att behöva starta programmet igen för en ny körning.

16 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 adress är 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 adress är Vill du generera ett nytt användarnamn?(j/n) n (Här kommer programmet avslutas)


Ladda ner ppt "Programkodens uppbyggnad"

Liknande presentationer


Google-annonser