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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ö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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

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

LÖSNINGSFÖRSLAG TENTAMEN

LÖSNINGSFÖRSLAG TENTAMEN LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND

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

Introduktion till Java

Introduktion till Java Översikt Introduktion till Java Språket Java Operatorer Kontrollsatser Överlagring This Klassens beståndsdelar Klassvariabler och klassmetoder Instansvariabler och instansmetoder Strängar Paket Programmering

Läs mer

Exempel på ett litet Ada-program

Exempel på ett litet Ada-program Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift

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

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel 732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public

Läs mer

Lektion 4. Datateknik A, Java I, 5 poäng

Lektion 4. Datateknik A, Java I, 5 poäng Datateknik A, Syfte: Att lära sig använda de primitiva typerna och olika operatorer för att bygga upp uttryck. Att använda kontrollflödeskonstruktioner för att styra flödet i programmet. Att stifta bekantskap

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

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

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

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer

Läs mer

Föreläsning 2, vecka 8: Repetition

Föreläsning 2, vecka 8: Repetition TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU 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

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 Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

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

Objektorienterad programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det

Läs mer

725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack

725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack 725G61 - Laboration 2 Loopar och arrayer Johan Falkenjack October 29, 2013 1 Inledning I labb 1 lärde vi oss om de primitiva datatyperna (och lite om String). Vi lärde oss också att använda variabler av

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

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011, Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman

Läs mer

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++

Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 2014-2015. L0 - Grunder i C++ Introduktion till algoritmer - L0 - Grunder i C++ Matematikgymnasiet, Läsåret 01-015 L0 - Grunder i C++ Det här är den första lektionen i kursen Introduktion till algoritmer vid Matematikgymnasiet, läsåret

Läs mer

Grundläggande stränghantering

Grundläggande stränghantering Grundläggande En sträng är en sekvens av tecken (text). t) För att ange ett strängvärde omgärdar man det med dubbelfnuttar: Exempel på strängvärden: "Ångström" "1256" "ABC123" Man kan slå ihop strängar,

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

Föreläsning 3. Iteration while-satsen

Föreläsning 3. Iteration while-satsen Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer