OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11
OOP&M - teori2 Arbetsmetoder /Lars Tänk igenom problemet Gör ett skelett med kommentarer + kompilera Tänk igenom vilka klasser som behöver importeras (räkna bara med java.lang) Kopiera program-delar från liknande problem Lös smådelar + gör kontrollutskrifter med System.out.println(); Kompilera ofta, lös endast den/de första kompileringsfelen Kommentera bort för att testa delar av programmet för att isolera felet Städa
OOP&M - teori3 De vanligaste primitiva datatyperna char tecken (enskilda bokstäver) ’a’ Deklareras: tex char myChar = ’a’; int heltal Deklareras: tex int myInt = 3; double decimaltal Deklareras: tex double myDouble = 3.0; boolean sant eller falskt Deklareras: tex boolean myBoolean = true; Variables2.java
OOP&M - teori4 Jämförelseoperatorer/comparison operators Ger villkor för tex if-satser == (lika med) != (skilt från) < (mindre än) >(större än) <= (mindre än eller lika med) >= (större än eller lika med
OOP&M - teori5 Booleska operatorer Används för att kombinera booleska uttryck. Att använda som villkor i tex if-satser. –&& (and,och) –|| (or,eller) –! (not,icke)
OOP&M - teori6 Ändlig följd av tecken Deklareras String namn1,namn2, …; (obs stor bokstav eftersom String är en klass) Skapas genom namn1 = ”En Text”; Eller namn1 = new String(”en text”); Konkateneras, (Concatenation), sammansätts mha ’+’ Strängkonstanter skrivs inom citationstecken –”This is a string” Metoder: –Med namn1.length() får man reda på antal tecken –Mer……. Datatypen Sträng String
OOP&M - teori7 En samling av variabler av samma typ grupperade i en enhet. Deklareras typ[] namn1; Skapas genom namn1 = new typ[antal element]; Regler: –Har plats för det antal variabler som anges med new- uttrycket –Med vektornamn.length får man reda på antal element –Numrering börjar på 0 till antalelement –1 –Man kommer åt element genom att skriva arraynamn[index] –En nyskapad array har förutbestämda (implicita) startvärden (int 0,double 0.0, boolean false osv) –Ett arrayelement fungerar som en vanlig variabel Array
OOP&M - teori8 Schematiskt utseende för metod … int myInt; myInt = getMyNumber(9,10); //metodanrop //metodspecifikation,metoddefinition, metoddeklaration,returtyp,argument /**Adds two numbers*/ public static int getMyNumber(int i,int j){ //Lokal variabel int k; k=i+j; return k; }
OOP&M - teori9 Metodspecifikation Beskriver hur och till vad metoden används. Beskriver inte hur problemet löses utan hur metoden används: Syntaxexempel: /**ger utskrift: "Det första talet är större eller lika med det andra" eller "Det första talet är mindre än det andra" */ public static void isBiggerEqual(int a, int b)
OOP&M - teori10 Villkorssats If och else if (condition/villkor){ statement } else{ statement }
OOP&M - teori11 -while-loop Används då man vill utföra en uppgift ett från början okänt antal gånger. Typexempel är vid inläsningar via tangentbord. while(villkor){ sats/er } Normalt påverkas villkoret så att det småningom blir uppfyllt
OOP&M - teori12 -for-loop Används då man vill utföra en uppgift ett från början känt antal gånger. Typexempel är vid genomsökning av vektorer/array for(initialisering;villkor;uppdatering){ sats/er } Normalt påverkas villkoret så att det småningom blir uppfyllt
OOP&M - teori13 Exempel while int i = 1; while (i>=0){ //Do something //Ändra värdet på i } ……..
OOP&M - teori14 Exempel for /*skapa en array och tilldela samtliga element värdet 10*/.. int[] myArray; myArray =new int[1200]; for (int i =0;i<myArray.length;i++){ myArray[i]=10; }
OOP&M - teori15 OOP – do-while I en do-while sats utförs alltid satserna en gång. do { sats }while (villkor);
OOP&M - teori16 OOP – break o continue kan (och bör) alltid undvikas break avslutar den närmast omgivande while eller for-satsen continue avbryter den pågående loopen och fortsätter med nästa.
OOP&M - teori17 Sista föreläsning oop1 ”Tentamensexempel till tentamen oop1 den 25/10 04” material:penna,papper. Tid Uppgifterna skall lämnas till mig före : Skriv ett Hallo-world-program 2: Skriv ner syntaxen för att deklarera två variabler a och b. a är av typen integer och skall ha värdet 10. b är av typen char och skall tilldelas bokstaven a. 3: Deklarera två heltalsvariabler med värdet 10 och 20. Skriv en if-sats som avgör om a är större än b och gör en lämplig utskrift. 4: Skriv en for-loop som räknar upp en variabel från 1 till 10 och gör en utskrift av variabelvärdet för varje varv i loopen. 5: Skriv en while-loop som kör så länge en variabel b är större än 0. I loopen skall värdet av b skrivas ut. 6: Skriv en metod med följande specifikation, visa även hur ett anrop sker. /**ger true om i större än noll annars false*/ public static boolean isBiggerThanZero(int i)
OOP&M - teori18 Labbtenta exempel Kommer på torsdag……..
OOP&M - teori19 ?