Välkommen Vahid Mosavat vahid@nada.kth.se 073-62 32 867 Övningar består av - kort genomgång om relaterade föreläsningen Exempel - kort genomgång om relaterade labb
Syfte med kursen programmeringsteknik? lära programmeringsspråket java ? vad man ska tänka på när man skriver ett program Vad är ett program? Vad betyder kompilering? består av två delar: 1. Kontrollera att koden är riktig (översättbar till Byte kod eller maskin kod) 2. Om kontrollen går igenom översätta koden till maskin kod så att maskinen kan förstå vad vi vill att den ska göra åt oss. Vad betyder exekvering? när ett program körs då exekveras programmet
Ett program har oftast indata och utdata Programmet beräknar hur gammal man är när man blir klar med studierna på KTH , d.v.s inskrivnings ålder behövs som indata indata utdata Program Ett tillfälle 20 24.5 Annat tillfälle 22 26.5
Ett väldigt enkelt program public class ProgEtt{ public static void main(String [] args){ System.out.println(”välkommen grupp3”); } Detta program tar ingen indata och därmed vid alla exekverings- tillfälle kommer att göra samma sak, alltså skriver ut på skärmen välkommen grupp3
Ett program med inläsning Kod som har med inläsing att göra import java.io.*; public class ProgEtt{ public static void main(String [] args) throws IOException{ BufferedReader stdin = new Bufferedreader(new InputStreamReader(System.in)); System.out.print(”vad heter du?”); String namn = stdin.readLine(); System.out.println(namn+” välkommen!!!”); }
Deklarationer består av: Identifiera : variabelnamn, classnamn eller metodnamn Literal: 2, 3, ”prgk01”, … Reserverade ord: int, double, while, for, public,… Variabler Operatörer +,-,*,/,%,…
Datatyper Primitiva datatyper Klasser i API och egna klasser int double byte float char boolean short long String BufferedReader InputStreamReader …
Primitiva datatyper Heltal byte : -256…0…255 short: -32 768…0….32 767 int: -2 147 483 648…0... 2 147 483 647 long: -9 x10^18…0... 9 x 10^18 Flyttal float: -3.4 x 10^38…0…3.4 x 10^38 double:-1.7 x 10^308 …0… 1.7 x 10^308
Primitiva datatyper Tecken char : ’a’, ’b’, ’1’, ’2’, ’~’, ’@’, ’&’, ’\n’, ’\t’, ’\”’,... ’\n’ : detta betyder radbyte ’\t’ : detta betyder tabb ’\”’ : detta är teckenet ” Boolsk boolean: true, false
Variabler Variabel det är de namn i ett program som deklareras och kan innehålla ett värde. Obs! Variabelnamn väljs av programmeraren. t.ex: double längd; int ålder; boolean isEmpty; Variabeldeklaration
Tilldelning Deklaration av ålder int ålder ; ålder = 12; boolean isEmpty = false; double längd = 1.70; int x = 12; int y = x; Initiering av ålder Deklaration och initiering av isEmpty på samma gång
Operationer Obs: x och y här nedan är av typen int. och isEmpty är av typen boolean isEmpty=true; int x=10 int y =12
Operationer forts. 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==y != x!=y
Exempel int x; int y = 12; double z = 3.0; x= 2.3; x=z; x = y; // x får samma värdet som y, d.v.s 12 ++y; // 1 läggs till y’s värdet, d.v.s y blir 13 x *= y; // x blir 156 alltså (x*=y) (x=x*y) z = x ; // z får värdet 156.0
Uppgift 1 Följande deklarationer är givna. Ange resultatet för varje deluppgift. double w = 69.6; int y = 3; double z = 23.2; int x = 2; a. w/z 3.0 e. w-z*y 0.0 f. (w-z)*y 139.2 h. y/x 1
Uppgift 2 Följande deklarationer är givna. Ange resultatet för varje deluppgift. double w = 10.0; double y = 3.0; int x = 2; a. w/y 3.333... b. y/w 0.3 c. y/x 1.5
Uppgift 3 Följande deklarationer är givna. Ange resultatet för varje deluppgift. int w = 10; int y = 3; a.w%y 1 b. y%w 3 b. y%2
Typomvandling men med (int) är altså en cast Med hjälp av cast kan man omvandla typer till varandra om om det är möjligt. t.ex int x = 3; double y = 4.6; x = y; ger kompileringsfel! men med x = (int) y; blir helt korrekt (int) är altså en cast x får värdet 4 [ (int) filtrera bort .6 från 4.6]