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

Föreläsning 3

  • Upload
    tyson

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

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: - PowerPoint PPT Presentation

Citation preview

Page 1: Föreläsning 3

Föreläsning 3

• Villkorssatsen if• Slingor: while och for• Felsökning

Page 2: Föreläsning 3

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!”);

Page 3: Föreläsning 3

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) .

== lika med!= skilt från< mindre än<= mindre än/lika med> större än>= större än/lika med

Page 4: Föreläsning 3

• Villkor kan kombineras med följande tre operatorer:

• if (ålder <= 4 || ålder >= 21)

System.out.println(”OK!”);

Logiska operatorer

&& och a<5 && b<5|| eller a<5 || b<5! icke !(a<5)

Page 5: Föreläsning 3

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)

Page 6: Föreläsning 3

while-slinganboolean 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);

Page 7: Föreläsning 3

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

Page 8: Föreläsning 3

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

Page 9: Föreläsning 3

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

Page 10: Föreläsning 3

Felsökning

• Kompileringsfel

• Exekveringsfel

• Logiska fel

Page 11: Föreläsning 3

Kompileringsfel

• Du har skrivit något som inte är korrekt Java.

• Exempel:'}' expected

MinJavaKod.java:13: '}' expected } // MinJavaKod ^

} saknas vid pilen ^

Page 12: Föreläsning 3

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.

Page 13: Föreläsning 3

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.

Page 14: Föreläsning 3

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)).

Page 15: Föreläsning 3

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).