Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning.

Slides:



Advertisements
Liknande presentationer
Repetition av språket Java
Advertisements

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.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
2D1311 Programmeringsteknik med PBL
Om Java C =>Java syntax variabler metoder färdiga klasser
Ö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
Att programmera i språket Java
Grundläggande programmering
Föreläsning 2 Datalogi för E1 2D1343
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.
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
OOP F4:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder.
Variabler: Datatyp - grundläggande : int, double, char, boolean eller
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 6 ( ) INNEHÅLL: -Mera om tabeller.
Repetition inför slutprovet
Programmering B PHP Lektion 2
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.
Vektorer (klassen Vector) Sortering
Programmeringsteknik för Media1 & K1
Föreläsning 3 Programmeringsteknik och Matlab DD1312
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.
Metoder och slingor Metoder och dess typ Slingor med while och for-satser.
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.
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 7 ( ) INNEHÅLL: -Metoder -Lokala variabler -Mera om klasser: -Nyckelorden.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 2 Skolan för Datavetenskap och kommunikation.
Föreläsning 10 Stränghantering.
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.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 4 ( ) INNEHÅLL: -Logiska operatorer och logiska uttryck -Referenstyper.
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.
Föreläsning 3. Flödesscheman while For Max/min-algoritm Datatyper Konvertering Dubbelloop (m. For)
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.
2D1311 Programmeringsteknik med PBL
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öreläsning 17 Repetition. Källkodsformat Unicode används åäöμψζ tillåtna i namn på identifierare Inte alla miljöer klarar av det Källkod Bytekod Java.
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
-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.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
1 Föreläsning 2 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
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.
1 Föreläsning 4 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 3: Booleans, if, switch
Presentationens avskrift:

Föreläsning 3 Villkorssatsen if Slingor: while och for Felsökning

if-satsen if-satsen används när ett villkor avgör vad som ska göras: if (ålder < 11) System.out.println(”Barnförbjudet!”); Man kan lägga till else för att tal om vad som ska hända om villkoret inte är uppfyllt: if (ålder < 11) System.out.println(”Barnförbjudet!”); else System.out.println(”Välkommen!”);

Jämförelseoperatorer I villkor kan följande operatorer användas: Strängar kan inte jämföras med operatorerna ovan (eftersom strängar inte är primitiva datatyper).

Villkor kan kombineras med följande tre operatorer: if (ålder = 21) System.out.println(”OK!”); Logiska operatorer

Slingor När man vill att vissa satser ska utföras flera gånger använder man en slinga. För att visa vilka satser som ska upprepas sätter man { } runt dessa. Man kan välja mellan att –ange ett villkor för hur länge satserna ska upprepas (while-slinga) –tala om hur många gånger satserna ska upprepas (for-slinga)

while-slingan boolean fortsätt = true; Så länge som villkoret är uppfyllt utförs satserna: while (fortsätt) { /* Satser som upprepas */ } Om villkoret passar bättre sist skriver man: do { /* Satser som upprepas */} while (fortsätt);

Slingexempel - while // Beräknar tio tvåpotenser class Potens { public static void main(String[] args) { int varv=1, tvåpotens=1; while (varv <= 10) { tvåpotens=tvåpotens*2; System.out.println(tvåpotens); varv=varv+1; } //while } //main } //Potens

for-slingan Vet man hur många varv slingan ska gå runt kan man använda for istället: for (int i=0; i<2; i++) { System.out.println(”Varv ” + i); } Variabeln i ovan existerar bara inuti for- slingan

Slingexempel - for // Beräknar tio tvåpotenser class Potens { public static void main(String[] args) { int tvåpotens=1; for (int varv=1; varv <= 10; varv++) { tvåpotens=tvåpotens*2; System.out.println(tvåpotens); } //for } //main } //Potens

Felsökning Kompileringsfel Exekveringsfel Logiska fel

Kompileringsfel Du har skrivit något som inte är korrekt Java. Exempel: '}' expected MinJavaKod.java:13: '}' expected } // MinJavaKod ^ } saknas vid pilen ^

Exekveringsfel Under körning blir något fel. Exempel: Du har en vektor som har 10 element, men något går fel och programmet försöker att ta fram element 33. Du ber användaren skriva ett heltal som du vill lagra, men denne skriver ett decimaltal.

Logiskt fel Du har tänkt fel, dvs programmet kör men producerar felaktiga resultat. Exempel: Du vill beräkna cirkelns omkrets men använder formeln för cirkeln area. Du använder en variabel x som du tror är radien i din formel, men i ditt program är x diametern. OBS, x är ett dåligt namnval.

Tjuvtitt på metoder Vissa beräkningar behöver man göra ofta i ett program. Istället för att skriva satserna som utför beräkningen flera gånger kan man definiera en metod som gör beräkningen. En metod känner man igen på att den har parenteser efter namnet (t ex println(), sin(0.58) ).

Tjuvtitt på klasser De primitiva datatyperna beskriver enkla värden (ett heltal, ett tecken osv). För att beskriva sammansatta data använder man klasser. Namn på klasser börjar alltid med en versal (t ex String).