Presentation laddar. Vänta.

Presentation laddar. Vänta.

Jonny Karlsson 27.11.2006 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 4 (27.11.2006) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper.

Liknande presentationer


En presentation över ämnet: "Jonny Karlsson 27.11.2006 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 4 (27.11.2006) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper."— Presentationens avskrift:

1 Jonny Karlsson 27.11.2006 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 4 (27.11.2006) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper -Tabeller -Strängar -Repetitionssatser: while-satsen

2 2Jonny Karlsson 27.11.2006 Logiska operatorer och logiska uttryck Logiska operatorer i Java &&”och” ||”eller” !”icke” Logiska opetorer utnyttjas bl.a. i villkorssatser för att kunna ställa flera olika ”krav”. Ett uttryck som innehåller logiska operatorer kallas för logiska uttryck. if(i 20)//logiskt uttryck { //uttrycket blir ”true” om variabeln i är mindre än 1 ELLER större än 20 } if(i > 0 && i 0 && i <= 20)//logiskt uttryck{ //uttrycket blir ”true” om i är större än 0 OCH om i är mindre än eller lika med 20 }

3 3Jonny Karlsson 27.11.2006 Referenstyper En referenstyp kan vara en arraytyp, klasstyp eller gränssnittyp. Dessa typer behandlas i vissa viktiga avseenden annorlunda än de primitiva datatyperna (de datatyper vi lärt oss hittils dvs. int, float osv.). En referenstyps värde kallas för objekt Referenstyperna kan i princip bli hur många som helst eftersom de kan skapas av programmeraren själv.

4 4Jonny Karlsson 27.11.2006 Tabeller Är en variant av referenstyp (arraytyp). Används för att lagra en mängd olika variabler av samma datatyp i datorns minne. Brukar även kallas för vektorer eller ”arrays” En tabell kan behövas när man vill göra ett program som skall beräkna t.ex. medeltalet av ett visst antal värden. Tabeller behövs även vid lagring av teckensträngar i datorns minne. En tabells värden eller element brukar man kalla för medlemmar.

5 5Jonny Karlsson 27.11.2006 Tabeller Deklaration av en tabell int [ ] a; eller int a [ ]; Detta deklarerar variabeln a som är en tabell av typen int. Variabeln a är egentligen en referens till en array och specificerar ingen längd på arrayen.

6 6Jonny Karlsson 27.11.2006 Tabeller Att skapa tabeller Till skillnad från primitiva datatyper (t.ex. int) måste en tabell skapas (liksom andra referenstyper) innan ett värde kan tilldelas en medlem. a = new int[10]; En tabell med plats för 10 värden av typ int skapasoch a knyts till denna array. new är ett nyckelord som används för att skapa nya objekt.

7 7Jonny Karlsson 27.11.2006 Tabeller Skillnaden mellan variabler av primitiv typ och referenstyp: x = 360; //värdet 360 skrivs in i variabeln x dvs. den plats i minnet som betecknas //med x a = new int[10]//En tabell med plats för 10 heltal skrivs ej in i a, utan a tilldelas en //referens/pekare/handtag till tabellen som finns på en helt annan //plats i minnet Variablen a ovan berättar alltså på vilken plats i minnet tabellen finns. Variabeln a är alltså i detta fall en referenstyp och a-variabelns värde, dvs referensvärdet till minnesplatsen, är ett objekt

8 8Jonny Karlsson 27.11.2006 Tabeller När man skapar en tabell med nyckelordet new initialiseras automatiskt alla medlemmar av tabellen till ett visst värde. Exempel: int tab[] = new int[5];//alla 5 medlemmarna i tabellen tab initialiseras till 0. Samma //gäller även andra tabeller av numerisk typ. Längden på en tabell kan i programkoden fås med: tab.length;//tab.length skulle i exemplet ovan ha värdet 5

9 9Jonny Karlsson 27.11.2006 Tabeller Tilldelning av värden åt tabellmedlemmar En tabells medlemmar kan tilldelas värden på följande sätt: float tabell[];//deklarerar en tabell av typen float tabell = new float[4];//skapar en tabell med 4 medlemmar tabell[0] = 1.5;//första platsen/medlemmen i tabellen får värdet 1.5 tabell[1] = 22.89;//andra ’’ får värdet 22.89 tabell[2] = 11.4; //andra ’’ får värdet 11.4 tabell[3] = 48.96; //andra ’’ får värdet 48.96 OBS! första platsen i en tabell är 0 och inte 1 Ovanstående programkod skulle resultera i följande tabell  En viss tabellmedlem betäcknas med- och är åtkomlig m.h.a. ett indexvärde. indexvärde 01.5 122.9 211.4 348.96

10 10Jonny Karlsson 27.11.2006 Strängar Definierar en ändling följd av tecken. (teckensträng) I Java ugör strängar en klass kallad String. Klassen String innehåller en samling metoder för att manipulera strängar (en del av dessa tas upp lite senare) String är också liksom tabeller en referenstyp

11 11Jonny Karlsson 27.11.2006 Strängar En sträng deklareras enligt följande: String s; En sträng deklareras och initialiseras: String s2 = ”Kalle Anka”; En sträng tilldelas ett värde: s2 = ”Musse Pigg”;

12 12Jonny Karlsson 27.11.2006 Strängar Två strängar kan konkateneras/slås ihop med + operatorn: String str1 = ”Kalle”, str2 = ”Anka”; nystring = str1 + str2; //innehållet i nystring blir ”KalleAnka”; Två strängar kan jämföras m.h.a. instansmetoden equals() definierad i klassen String. Denna metod returnerar ett värde av typ boolean. Om jämförelseträngen man ger som parameter till metoden equals() är identisk med den sträng man jämför med, returneras värdet true, i annat fall värdet false. Se exemplet nedan: String s = ”pelle”; If(s.equals(”pelle”) == true)//denna if-sats blir ”true” if(s.equals(”ville”) == true)//denna if-sats blir ”false”

13 13Jonny Karlsson 27.11.2006 Repetitionssatser Används för att åstadkomma repetitioner, dvs. om man vill att samma sats/satser skall utföras ett visst antal gånger. T.ex. I ett program där användaren skall skriva in 10 olika värden från tangentbordet behövs en sats som skall repeteras 10 gånger: Pseudokod: antal = 0; Så länge som antal < 10 { läs in ett heltal från tangentbordet; öka antal med 1; }

14 14Jonny Karlsson 27.11.2006 Repetitionssatser While-satsen Ett sätt att åstadkomma repetition är att använda while-satsen. Har den allmänna formen: while(uttryck) sats;//sats repeteras så länge som uttryck är sant ellerwhile(uttryck){ sats1;//sats1 och sats2;//sats2 repeteras så länge som uttryck är sant...}

15 15Jonny Karlsson 27.11.2006 Repetitionssatser Exempel - programmet skriver ut värdet av variabeln i 10 ggr och efter varje utskrift ökas värdet på i med 1: int i; while(i < 10) {System.out.println(i); i = i + 1; }


Ladda ner ppt "Jonny Karlsson 27.11.2006 1 INTRODUKTION TILL PROGRAMMERING Föreläsning 4 (27.11.2006) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper."

Liknande presentationer


Google-annonser