1 / 15

Föreläsning 3

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:

tyson
Download Presentation

Föreläsning 3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

  10. Felsökning • Kompileringsfel • Exekveringsfel • Logiska fel

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

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

  13. 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åligtnamnval.

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

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

More Related