Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305 2005-09-19 Övning2 programmeringsteknik och Matlab 2D1312/ 2D1305 Kompilering, exekvering, variabler, styrstrukturer KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 En körbar java-kod class ProgEtt{ public static void main(String[] args){ System.out.println(”java är enkel”); } KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Kompileringsfel Följande program ger följande kompileringsfel class ProgEtt{ public static void main(String[] args){ String mening=”java är enkel”; System.out.println(mining); } ProgEtt.java:4: cannot find symbol symbol : variable mining location: class ProgEtt ^ 1 error KTH, NADA, Vahid Mosavat
Variabel, datatyp och litteral Övning2. programmeringsteknik och Matlab 2005-09-19 Variabel, datatyp och litteral Variabel är en identifierare i ett program som representerar en plats i datorns minne. I Java finns det flera olika datatyper. T.ex: ”2” , ’2’ , 2, 3.14 Litteral är ett angivet värde i ett program. KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Datatyper Primitiva datatyper Klasser byte short int long double float char boolean … String Scanner System Integer Double Boolean KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Utskrift satser System.out.print( ) En sats som skriver ut parameternsvärde. System.out.println( ) En sats som skriver ut parameternsvärde och byter automatiskt rad efteråt KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab Reserverade ord 2005-09-19 Följande ord är reserverad och får (ska) inte användas som identifierare. abstract boolean break byte (byvalue) case (cast) catch char class (const) continue default do double else extends false final finally float for (future) (generic) (goto) if implements import (inner) instanceof int interface long native new null (operator) (outer) package private protected public (rest) return short static super switch synchronized this throw throws transient true try (var) void volatile while KTH, NADA, Vahid Mosavat
Inläsning från tangentbord Övning2. programmeringsteknik och Matlab 2005-09-19 Inläsning från tangentbord import java.util.Scanner; class FintNamn{ public static void main(String[] args){ Scanner tgb = new Scanner(System.in); System.out.print(”Vad heter du? ”); String namnet = tgb.nextLine(); System.out.println(namnet +” är ett fint namn”); } KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab Operatorer Övning2. programmeringsteknik och Matlab 2005-09-19 Op Exempel + x+y += x+=2, x+=y - y-x -= x-=3, x-=y * x*y ! !isEmpty / x/y *= x*=2, x*=y ++ x++ eller ++x /= x/=2, x/=y -- y-- eller --y > x>y, x>10 % x%y < x<y, x<5 == x==y >= x>=y, x>=4 != x!=y <= x<=y, x<=4 KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Styrstrukturer Java kod exekveras radvis och sekventiell. Med hjälp av styrstrukturer kan man ändra den sekventiella exekveringen. Några exempel på styrstrukturer är: if, if-else, for, while, do-while KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 if-sats Problem: Skriv ett program som frågar efter pris på en bok och skriver ut ”dyr bok, ingen affär” om priset är mer än 500:- KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab modell 2005-09-19 Kolla om bokPris>500 falskt sant Skriv ut ”dyr bok, ingen affär” Kod efter if-satsen ... KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 if-else else använder man tillsammans med en if-sats när man vill göra ett val mellan två olika saker. Exempel: Skriv ett program som frågar efter pris på en bok och skriver ut ”dyr, ingen affär om priset är mer än 500 kr annars skriver programmet ut ”billig bok, köp fort” KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 modell falskt bokPris>500 System.out.println(”billig…”); sant System.out.println(”dyr…”); Kod efter if-else... KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Slinga (loop) Slingor eller loop används då man vill en sak ska upprepas ett antal gånger. I java finns det for-slingor och while-slingor för detta ändamål KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 For-sats for-sats består av följande delar 1.for 2.(A;B;C) A är oftast deklaraton och initiering av veriabel B är ett villkor-sats (Condition) C oftast är en stegning-sats 3. uttryck (statement) for ( int i=0 ; i< 10; i++) { System.out.println(”Java är enkel”); } KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab while sats 2005-09-19 while-sats består av följande delar: 1. while 2. Villkor-sats (condition) 3. uttryck (statement) int i=0; while (i<10) { System.out.println(”programmering är kul”); i++; } KTH, NADA, Vahid Mosavat
Modell för for- och while-sats Övning2. programmeringsteknik och Matlab 2005-09-19 ... kod före for eller while falskt Villkor sant uttryck Kod efter for eller while... KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab Modelll för loop Övning2. programmeringsteknik och Matlab 2005-09-19 int i=0; falskt i<10 sant System.out.println(”hej”); i++; Kod efter for eller while... KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab do-while sats 2005-09-19 while-sats består av följande delar: 1. do 2. uttryck 3.while 4.Villkor-sats (condition) int i=0; do { System.out.println(”programmering är kul”); i--; } while (i>10); KTH, NADA, Vahid Mosavat
Modell för do-while sats Övning2. programmeringsteknik och Matlab 2005-09-19 ... kod för do-while uttryck falskt Villkor sant kod efter do-while ... KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Uppgifter Skriv följande program med hjälp av for-sats och/eller while-sats Skriv ett program som skriver ut ”hej” 100 gånger. Skriv ett program som skriver ut alla heltal från 0 upp till 100. Skriv ett program som skriver ut heltal mellan -1 och 101 med intervall 4. (d.v.s. 0, 4, 8, 12,…,100) KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Uppgifter 4. Skriv ett program som frågar användaren om ett tal och skriver ut ”hej” lika många gånger som inmatade talet. 5. Skriv ett program som frågar om två tal och skriver ut alla tal mellan de två talen (obs användaren ska mata in minsta talet först) 6. Skriv ett program som löser uppgift 5 utan någon krav om att minsta talet ska matas in först. KTH, NADA, Vahid Mosavat
Övning2. programmeringsteknik och Matlab 2005-09-19 Uppgifter 7. Skriv ett program som skriver ut multiplikationstabellen för 1-5. 1 2 3 4 5 6 8 10 9 12 15 16 20 25 KTH, NADA, Vahid Mosavat