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

Slides:



Advertisements
Liknande presentationer
Villkor Booelska operatorer Villkorsatser Switchsatser Villkor och annat.
Advertisements

Repetition inför provet
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
2D1311 Programmeringsteknik med PBL
Föreläsning 2. Operatorer Tilldelning Kodblock { } if – satsen Logiska uttryck Att programmera.
Föreläsning 12 Matlab J-uppgiften.
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
Växjö 22 april -04Språk & logik: Parsning med kontextfria grammatiker1 DAB760:Språk och logik: 22 aprilParsning Leif Grönqvist
Grundläggande programmering
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 2 Primitiva datatyper Variabler och konstanter Tilldelning Inläsning Operatorer Villkorssatsen if Slingor: while och for.
Flödeskontroll Satser i ett program utförs en och en efter varandra. Detta kallas sekvensiell flödeskontroll. Ofta är det dock nödvändigt att modifiera.
Iteration i C ”upprepa”
Programmering B PHP Lektion 2
INTRODUKTION TILL PROGRAMMERING
Programmering B PHP Lektion 3
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 7 ( ) INNEHÅLL: -Klasser och instansvariabler -Tabeller av klassobjekt.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Programmering B PHP Lektion 2
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: Trådprogrammering i Java - Avbrott (”interrupts”) - Metoden join() -
Föreläsning 3 Programmeringsteknik och Matlab DD1312
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
Internet A Javaskript.
OOP F6:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList toString() – metoden.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska opertorer -Poster.
Metoder och slingor Metoder och dess typ Slingor med while och for-satser.
Grundläggande programmering
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Jämförelseoperatorer -Villkorssatser -Logiska operatorer.
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.
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.
Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen.
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.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 11 ( ) Innehåll: - Förmedling av fildeskriptorer.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 2 ( ) INNEHÅLL: -Variabler och datatyper -Tilldelning av variabler -Aritmetiska.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder.
1 Flödeskontroll Sekvens Val Upprepning. 2 Logiska operatorer Relationsoperatorer > =
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
INTRODUKTION TILL PROGRAMMERING
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Repetitionssatser: do-satsen och for-satsen -Operatorer:
2D1311 Programmeringsteknik med PBL
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 9: Implementering av underprogram Aktiveringsposter Exekveringsstacken Implementera dynamisk räckvidd.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( ) Innehåll: - Förening av dataströmmar -Blockerande I/O multiplexering -Icke blockerande.
Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 2 ( )‏ Innehåll:Trådar: - Avbrott (”interrupts”)‏ - Metoden join()‏ Högnivå objekt för.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
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.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Mer om operatorer logiska operatorer bit-operatorer adress-operatorn ”komma”-operatorn punkt - operatorn.
KPP053, HT2015 MATLAB, Föreläsning 4
Lektion 4.
Föreläsning 3: Booleans, if, switch
Föreläsning 4: for, while, do-while
Programmering och problemlösning i matematik
Presentationens avskrift:

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

2Jonny Karlsson 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 }

3Jonny Karlsson 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.

4Jonny Karlsson 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.

5Jonny Karlsson 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.

6Jonny Karlsson 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.

7Jonny Karlsson 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

8Jonny Karlsson 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

9Jonny Karlsson 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 tabell[2] = 11.4; //andra ’’ får värdet 11.4 tabell[3] = 48.96; //andra ’’ får värdet 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

10Jonny Karlsson 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

11Jonny Karlsson 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”;

12Jonny Karlsson 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”

13Jonny Karlsson 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; }

14Jonny Karlsson 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...}

15Jonny Karlsson 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; }