Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Storlek: px
Starta visningen från sidan:

Download "Föreläsning 3: Typomvandling, villkor och val, samt textsträngar"

Transkript

1 Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard Linköpings universitet Sweden October 14,

2 Innehåll n n n n n Repetition Typomvandlingar Booleska operation och jämförelser Villkor och val Strängar och Java-klassen String October 14,

3 Repetition Variabler och operationer October 14,

4 Variabler n Vad är en variabel? q q Ett namn på en lagringsplats för ett värde vi "bokar upp" en plats i datorns minne för att lagra värden på Jfr. "x" i matematiken kan stå för vilket tal som helst X namn n En variabel har alltid en typ vilken sorts sak kan vi stoppa i lådan? q q Typer är t ex heltal, flyttal och tecken Vi måste bestämma oss vad vi vill lagra när vi skapar variabeln October 14,

5 Datatyper n Översikt över grundläggande datatyper i Java: datatypes.html q q q q byte short int long q q float q boolean char q October 14,

6 Unicode October 14,

7 Skilj på tecken och siffra class TeckenSiffra char tecken1 = '0'; char tecken2 = 0; int tal = 0; System.out.print(tecken1 + " " + tecken2 + " " + tal); //Skriver ut: 0 0 n Tecknet 0 (Unicode 48), heltalet 0, nolltecknet ("null" används för att markera en tom variabel Unicode 0) October 14,

8 Operationer - Heltal n De fyra räknesätten: + - * / n Resten vid heltalsdivision: % n Tecken: + - n n n Prioritet: (PEMDAS) q unära + - q * / % q + - Inom en grupp utförs operationerna i den ordning de står Använd parenteser för att få en viss bestämd ordning October 14,

9 Typomvandlingar October 14,

10 Datatyper och lagring n n Det går bara att lagra ett sorts värde i varje variabel Värden som vi försöker lagra måste uppfylla villkoren för den typen q q Storlek Format n Vi tilldelning kan vi använda ett värde som finns lagrat i en variabel och "kopiera det" till en annan variabel q int tal1 = 2; int tal2; tal2 = tal1; //hämta värdet som finns lagrat " " "i variabeln tal1 och lagra " " "samma värde i tal2" Men vad händer om tal1 och tal2 inte har samma typ?? q October 14,

11 Heltal - Från mindre till större och från större till mindre n n Vi har fyra heltalstyper: byte, short, int och long q q Ett värde som finns lagrat i en byte kan alltid kopieras till en short, int eller long - hela talområdet "får plats" Men en int kan inte koperas till en short eller byte - även om själva talet skulle få plats! int tal1 = 2; byte tal2 = tal1; -> kompileringsfel! För att gå från en större typ till en mindre typ måste vi uttryckligen begära en omvandling - type cast q int tal1 = 2; byte tal2 = (byte) tal1; " q Type cast - vi anger vilken typ vi vill "tvinga" värdet från den andra variabeln att anta genom att ange typen inom parentes October 14,

12 Heltal till flyttal och tvärt om n n n n Lika som för heltal kan en tilldelas en float (från mindre till större typ går bra), men tvärt om måste vi begära en omvandling (type cast) Flyttalstyperna (float och ) kan lagra större värden än heltalstyperna q Heltal kan tilldelas till en flyttalsvariabel int tal1 = ; float tal2 = tal1; " q Men vi kan få avrundningsfel! tal2 ovan lagras som E9 Tvärt om går inte - vi kan inte direkt tilldela en heltalsvariabel ett flyttalsvärde För att lagra heltalsdelen av ett flyttal måste vi uttryckligen begära en omvandling - type cast q tal1 = 2.22; int tal2 = (int) tal1; Här lagras bara heltalsdelen - tal2 får värdet 2 October 14,

13 Tecken och heltal n Vi har sett att tecken lagras som ett heltal - dvs som dess Unicode-kod q Talområdet för en char är därför 0 till q char är mindre än int och long! q n en int eller long kan alltså alltid tilldelas värdet av en char short och byte överlappar, men är inte större/mindre n för att omvandla mellan char och byte/short krävs att man framtvingar en omvandling - type cast char c1 = 'A'; byte b = (byte) c1; b får värdet 65 (Unicode-värdet som representerar A) n Boolean kan aldrig omvandlas till en annan datatyp October 14,

14 Exempel i Eclipse... October 14,

15 Booleska operationer October 14,

16 Jämförelser == lika med?!= inte lika med? > större än? >= större än eller lika med? < mindre än? <= mindre än eller lika med? Resultatet av en jämförelse blir alltid ett booleskt värde - dvs true eller false" October 14,

17 Exempel class Jamfora int tal1 = 2; int tal2 = 3; boolean b1 = tal1 >= tal2; boolean b2 = tal1 == tal2; October 14, System.out.println(b1); //sant eller falskt? System.out.println(b2); //sant eller falskt?

18 Logiska operationer && och eller! komplement ("icke") n! har samma prioritet som andra unära operatorer n && har högre prioritet än n Jämförelseoperatorer har lägre prioritet än aritmetiska operatorer, och logiska operatorer har lägst prioritet q boolean b = <= >= 2 samma som: boolean b = ((1 + 2) <= (2 + 2)) (3 >= 2) n För att vara på den säkra sidan (och mer lättläst): använd parenteser! October 14,

19 Exempel class JamforaIgen int tal1 = 2; int tal2 = 3; boolean b1 = tal1 >= tal2 && tal1 == tal2; boolean b2 = tal1 == tal1 tal1 >= tal2; System.out.println(b1); //sant eller falskt? System.out.println(b2); //sant eller falskt? October 14,

20 Villkor och val October 14,

21 Algoritmer med förgreningar ta ut pengar Hämta kontonummer och uttagsbelopp Hämta saldo för kontot Neka uttag! nej! Är saldot större än uttagsbelopp? ja! Minska saldo med uttagsbelopp, betala ut pengar October 14,

22 Om - annars (if - else) n Om... gör... annars... gör... q Om saldot är större än uttagsbeloppet, godkänn uttaget, annars skriv ut ett meddelande att uttaget inte är godkänt n if (villkor) gör; else gör; class Om saldo = 200.0; uttag = 300.0; if (uttag <= saldo) System.out.println("Uttag ok"); else System.out.println("Uttag är större än saldot"); October 14,

23 Om - annars (if - else) n Samma sak: class Om2 saldo = 200.0; uttag = 300.0; if (uttag <= saldo) System.out.println("Uttag ok"); if (uttag > saldo) System.out.println("Uttag är större än saldot"); October 14,

24 Om - annars (if - else) class Om3 saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); October 14,

25 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); October 14,

26 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag October 14,

27 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag October 14,

28 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (100.0 <= 200.0) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag October 14,

29 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (true) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag October 14,

30 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag evabl45> Uttag ok October 14,

31 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag evabl45> Uttag ok October 14,

32 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = ; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag evabl45> Uttag ok October 14,

33 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = 100.0; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag evabl45> Uttag ok October 14,

34 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag October 14, evabl45> Uttag ok evabl45> Nytt saldo är: 100.0

35 Om - annars (if - else) - Vi stegar! class Om3 saldo saldo = 200.0; uttag = 100.0; if (uttag <= saldo) System.out.println("Uttag ok"); saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Uttag är inte ok"); System.out.println("Inga pengar dragna från kontot"); uttag October 14, evabl45> Uttag ok evabl45> Nytt saldo är: 100.0

36 Om - annars för kontroll av värden class Uttag2 saldo = 200.0; System.out.println("Ange uttagsbelopp: "); uttag =... //låt användaren ange värde if (uttag >= 0) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else System.out.println("Belopp får inte vara negativt!"); October 14,

37 Om - annars - om... class Uttag3 saldo = 200.0; uttag = 300.0; if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 37

38 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 38

39 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 39

40 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 40

41 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (true && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 41

42 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (true && false) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 42

43 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (false) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 43

44 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 44

45 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (sant && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 45

46 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (sant && sant) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 46

47 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (sant) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 47

48 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); evabl45> Du har inte råd! 48

49 Om - annars - om... Vi stegar! saldo class Uttag3 saldo = 200.0; uttag = 300.0; uttag if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); evabl45> Du har inte råd! 49

50 Om - annars - om... Vad händer nu? class Uttag3 saldo = 200.0; uttag = -30.0; if (uttag >= 0 && uttag <= saldo) saldo = saldo - uttag; System.out.println("Nytt saldo är: " + saldo); else if (uttag >= 0 && uttag > saldo) System.out.println("Du har inte råd!"); else System.out.println("Belopp får inte vara negativt!"); 50

51 Val mellan alternativ class AlternativOm int siffra = 3; if (siffra == 1) System.out.println("Det är en 1:a"); else if (siffra == 2) System.out.println("Det är en 2:a"); else if (siffra == 3) System.out.println("Det är en 3:a"); else System.out.println("Det är inte 1, 2 eller 3"); October 14,

52 Val mellan alternativ class AlternativOm int siffra = 7; if (siffra == 1) System.out.println("Det är en 1:a"); else if (siffra == 2) System.out.println("Det är en 2:a"); else if (siffra == 3) System.out.println("Det är en 3:a"); else System.out.println("Det är inte 1, 2 eller 3"); October 14,

53 Val mellan alternativ - switch class AlternativSwitch int siffra = 3; switch (siffra) case 1: System.out.println("Det är en 1:a"); break; case 2: System.out.println("Det är en 2:a"); break; case 3: System.out.println("Det är en 3:a"); break; default: System.out.println("Det är inte 1, 2 eller 3"); break; October 14,

54 Textsträngar och Javas standardbibliotek October 14,

55 Textsträngar (String) ingen grundläggande datatyp n n n n n String är inte en primitiv datatyp utan en klass i Javas standardbibliotek q q Många klasser i standardbiblioteket är "kombinationer" av grundläggande datayper String kan ses som en sekvens av char Vi kan skapa objekt (instanser) av klassen String Vi kan skriva int i = 1; och String s = "hej"; men även String s = new String("hej");" q Skillnaden kommer vi tillbaka till senare i kursen! q Tecken skrivs inom ' ' medan strängar (text) skrivs inom " " q Vi kan sätta samman flera teckensträngar med + Klassen String har metoder som vi kan komma åt genom att skriva en. och sedan metodens namn q s = s.touppercase(); q om metoden kräver indata skrivs det i parentesen För att få reda på vilka metoder som finns för klassen String kolla i Javadoc för Java API q October 14,

56 Exempel class Text String mintext = "Hej!"; String annantext = "Hejsan!"; System.out.println(mintext); System.out.println(mintext + " " + annantext); October 14,

57 Exempel "Hej!" class Text String mintext = "Hej!"; String annantext = "Hejsan!"; mintext String System.out.println(mintext); System.out.println(mintext + " " + annantext); October 14,

58 Exempel "Hejsan!" "Hej!" class Text annantext String String mintext = "Hej!"; String annantext = "Hejsan!"; mintext String System.out.println(mintext); System.out.println(mintext + " " + annantext); October 14,

59 Exempel "Hejsan!" "Hej!" class Text annantext String String mintext = "Hej!"; String annantext = "Hejsan!"; mintext String System.out.println(mintext); System.out.println(mintext + " " + annantext); evabl45> Hej! October 14,

60 Exempel "Hejsan!" "Hej!" class Text annantext String String mintext = "Hej!"; String annantext = "Hejsan!"; mintext String System.out.println(mintext); System.out.println(mintext + " " + annantext); evabl45> Hej! evabl45> Hej! Hejsan! October 14,

61 Javadoc för Javas standardbibliotek n n n n Viktigt verktyg få personer kan hela språket utantill! q Använd som "uppslagsbok" så fort ni får känslan "det här måste väl någon ha gjort en smart metod för" eller när ni står inför frågan "vilken klass/metod är bäst att använda i det här läget?" Paket grupp av klasser q q Klasserna har ett namn + ett paket = fullständigt namn Exempel: String och java.lang.string Några användbara paket q q java.lang Grundläggande klasser och "wrappers" för grundläggande datatyper java.util Bland annat listor, mängder, tid mm. OBS! Lista på vilka klasser ni kan komma att behöva finns på kurshemsidan October 14,

62 Javadoc för klassen String October 14,

63 Vi läser Javadoc för Stringklassen... October 14,

64 Tips för att läsa Javadoc 64

65 Exempel class Textoperationer String s1 = "text"; String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); Ø Ø TEXT TEXT MER text October 14,

66 Hänvisningsoperatorn:. n s1 = s1.touppercase(); q q Läses ungefär "på värdet som finns i variabeln s1 just nu, anropa metoden touppercase(), lagra sedan det nya värdet som touppercase() returnerar i variabeln s1 igen" Det som kommer före. anger vad metoden ska anropas på, dvs vad metoden "hänvisar till" n Låt oss stega igenom programmet... October 14,

67 Exempel "text" class Textoperationer String s1 = "text"; String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); October 14, s1 String

68 Exempel "text" "MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); s2 String October 14,

69 Exempel "text" "MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); s2 String "anropa metoden touppercase() på värdet som finns i variabeln s1, lagra sedan resultatet i s1" October 14,

70 touppercase()? October 14,

71 Exempel "text" "MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = "text".touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); s2 String October 14,

72 Exempel "text" "MER text" class Textoperationer String s1 = "text"; String s2 = " MER text"; s1 = "TEXT"; s2 = s1.concat(s2); s1 String System.out.println(s1); System.out.println(s2); s2 String October 14,

73 Exempel "TEXT" "MER text" class Textoperationer String s1 = "text"; String s2 = " MER text"; s1 = "TEXT"; s2 = s1.concat(s2); s1 String System.out.println(s1); System.out.println(s2); s2 String October 14,

74 Exempel "TEXT" "MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); s2 String October 14,

75 concat()? October 14,

76 Exempel "TEXT" "MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); s2 String "lägg till värdet av variabeln s2 i slutet på (=konkatenera) värdet i variabeln s1" October 14,

77 Exempel "TEXT" "MER text" class Textoperationer String s1 = "text"; String s2 = " MER text"; s1 = s1.touppercase(); s2 = "TEXT".concat(" MER text"); System.out.println(s1); System.out.println(s2); October 14, s1 String s2 String

78 Exempel "TEXT" "MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = "TEXT MER text"; System.out.println(s1); System.out.println(s2); s2 String October 14,

79 Exempel "TEXT" "TEXT MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = "TEXT MER text"; System.out.println(s1); System.out.println(s2); s2 String October 14,

80 Exempel "TEXT" "TEXT MER text" class Textoperationer String s1 = "text"; s1 String String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); evabl45> TEXT s2 String October 14,

81 Exempel "TEXT" "TEXT MER text" class Textoperationer String s1 = "text"; String s2 = " MER text"; s1 = s1.touppercase(); s2 = s1.concat(s2); System.out.println(s1); System.out.println(s2); October 14, s1 String evabl45> TEXT evabl45> TEXT MER text s2 String

82 Vi testar att stega i Eclipse... October 14,

83 Sammanfattning n n n n Typomvandlingar q Samma typ men olika storlek? - vi kan alltid gå från mindre till större typ, men från större till mindre krävs type cast q type cast - anges genom att ange typen inom parentes vid tilldelning q type cast behövs även när vi omvandlar från flyttal till heltal (dvs "kastar bort decimalerna") samt från char till short eller byte Villkor q Jämförelseoperatorer: q Logiska operatorer:! (icke) - && (och) - (eller) q Ger ett booleskt värde som resultat Val q if (villkor) //gör något; else //gör något annat; q switch - väljer mellan alternativa heltalsvärden Textsträngar - inte en grundläggande datatyp! q String är en klass i Javas standardbibliotek q Slå upp Javadoc för Java API för att läsa om metoderna! October 14,

84 Nästa gång? n Arrayer och loopar October 14,

85 October 14,

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C. Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val 732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean

Läs mer

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

Läs mer

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java (Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart

Läs mer

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Inledande programmering med C# (1DV402) 27+15=42 1 (22) 27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll

Läs mer

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit Fler byggstenar Heltalsrepresentation Fyra heltalstyper Intern data representation Typomvandlingar Fler operatorer VŠljande & upprepande satser Tecken-bit by te t short t int t 7 bitar 15 bitar 31 bitar

Läs mer

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer Föreläsning 4 Metodanrop switch-slingor Rekursiva metoder Repetition av de första föreläsningarna Inför seminariet Nästa föreläsning Metodanrop - primitiva typer Vid metodanrop kopieras värdet av en variabel

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Data, typ, selektion, iteration

Data, typ, selektion, iteration Data, typ, selektion, iteration En programmeringkurs på halvfart IDT, MDH ttp://www.negative-g.com/nolimits/no%20limits%20defunct%20coasters.htm 1 Dagens agenda Talrepresentation Typkonvertering Sekvens

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Övning2. Variabler. Data typer

Övning2. Variabler. Data typer Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden Föreläsning 7 Uttryck, Operatorer Och Kontrollflöden Nyckelord I Java abstract double int super boolean else interface switch break extends long synchronized byte final native this case finally new throw

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man

Läs mer

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

E02 The Review Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet

1 Texthantering. 1.1 Typen char. Exempel, skriv ut alfabetet 1 Texthantering I detta avsnitt tas det upp två sätt att arbeta med text i C++ program. Det första sättet som behandlas är hanteringen av textfält. Texter i C++ består utav en serie med enstaka tecken

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en

Läs mer

Programmeringsteknik I

Programmeringsteknik I Programmeringsteknik I Föreläsning 2: Grundläggande Java Johan Öfverstedt Java Grundläggande begrepp Datatyper Selektion if Räckvidd (scope) Iteration while Klasser Objekt Metoder Metodhuvudet Kodstandarden

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(

Läs mer

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

Läs mer

725G61 - Laboration 1 Variabler och villkorssatser. Johan Falkenjack

725G61 - Laboration 1 Variabler och villkorssatser. Johan Falkenjack 725G61 - Laboration 1 Variabler och villkorssatser Johan Falkenjack October 16, 2013 1 Inledning till labbarna Any sufficiently advanced technology is indistinguishable from magic. - Arthur C. Clarke Citatet

Läs mer

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering

Läs mer

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

Läs mer

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public

Läs mer

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

System.out.println(Jaså du har + antalhusdjur+  husdjur); if ( antalhusdjur > 5 ) System.out.println(Oj det var många); 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik för ingenjörer, VT06 2 Repetition Repetition -

Läs mer

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på

Läs mer

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler

1 Datorn som miniräknare. 1.1 Räkneoperationer. 1.2 Variabler 1 Datorn som miniräknare I detta avsnitt tas upp hur man kan skriva program som utför enkla räkneoperationer och skriver resultat på skärmen. Syftet är i huvudsak att se hur flera satser kan bygga upp

Läs mer

Föreläsningsmaterial (Syntax och variabler)

Föreläsningsmaterial (Syntax och variabler) Föreläsningsmaterial (Syntax och variabler) Scenario Ett företag inom gruvindustrin som tillverkar järnpellets upplever en ojämnhet i produktionskvaliteten. Problemet yttrar sig genom att pelletskulorna

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Hur vi jobbar med ett program. 1. Vad vi skriver (med hjälp av redigeringsprogrammet Emacs) på datorn: // Fig. 2.1: Welcome1.java // A first program in

Läs mer

Programmering för språkteknologer I, VT2012. Rum

Programmering för språkteknologer I, VT2012. Rum Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... } En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class

Läs mer

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson

TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av

Läs mer

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar

Läs mer

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson

OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner Programmeringsteknik och Matlab Övning 3 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Tentamen OOP 2015-03-14

Tentamen OOP 2015-03-14 Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Översikt över Visual Basic

Översikt över Visual Basic Översikt över Visual Basic Om denna översikt Denna översikt ger en kort introduktion till de viktigaste delarna i programspråket Visual Basic 6.0. På alla ställen där det beskrivs hur man skriver kod gäller

Läs mer

Undervisning. Examination

Undervisning. Examination Kursinfo Objektorienterad programmering Undervisning Föreläsning 1 Kursinformation Allmänt om programmering Java - några inledande exampel Grundbegrepp: variabler, uttryck, satser, typer. Föreläsningar

Läs mer

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

Läs mer

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t.

Föreläsning 11. Arrayer. Arrayer. Arrayer. Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt. Kan ha en array av t. Föreläsning 11 Arrayer Arrayer Lagrar flera värden av samma typ Kan vara primitiva typer eller objekt int[] tal = new int[3]; Kan ha en array av t.ex: Heltal (int) Tecken (char) Personer (objekt av klassen

Läs mer

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen. TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

C++ - En introduktion

C++ - En introduktion C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A

Skriftlig tentamen för kursen DV017A. Inledande programmering i Java A Skriftlig tentamen för kursen DV017A Inledande programmering i Java A Skrivtid 4 timmar 09.00 13.00 Instruktioner Detta är en tentamen som består av fleralternativsfrågor. Här är några viktiga punkter:

Läs mer

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4: (22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor 732G11 Linköpings universitet 2011-02-01 1 2 3 Strukturdiagram Strukturdiagram används för att visa hur ett program fungerar. Man kan se alla val och upprepningar som sker i programmet. Består av tre (!)

Läs mer

Föreläsning 1-2: Kursinformation och introduktion till Java och programmering

Föreläsning 1-2: Kursinformation och introduktion till Java och programmering Föreläsning 1-2: Kursinformation och introduktion till Java och programmering Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll Kursinfo Varför programmering?

Läs mer

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten

Läs mer

Lite logik. Kap 6: Sid 2

Lite logik. Kap 6: Sid 2 6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik

Läs mer

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning Översikt Uttryck i tilldelningssatser Typer och typomvandling Klasser Metoder Konstanter Eclipse-tips MERA JAVA OCH ECLIPSE Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 public class

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin) Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades

Läs mer

Lektion 1 Introduktion till DrJava och Java

Lektion 1 Introduktion till DrJava och Java Lektion 1 Introduktion till Målsättning med lektionen: Bekanta er med programmet DrJava som ni skall använda under kursen för att skriva och köra javaprogram Hur man använder variabler, aritmetik och matematiska

Läs mer

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga

Läs mer

JAVAUTVECKLING LEKTION 3

JAVAUTVECKLING LEKTION 3 JAVAUTVECKLING LEKTION 3 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Numeriska typer Inläsning av numerisk data Numeriska typomvandlingar Standardklassen Math Villkorskonstruktioner

Läs mer

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt

Läs mer

Föreläsning 2 - Intro till Java

Föreläsning 2 - Intro till Java Föreläsning 2 - Intro till Java Sammanfattning av Lektion 1 (kap 2): Vad behövs för att kunna programmera? DrJava (t ex) Java (installera först!) Reserverade ord (t ex if, while...) Primitiva variabler

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer