Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1
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, 2013 2
Repetition Variabler och operationer October 14, 2013 3
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, 2013 4
Datatyper n Översikt över grundläggande datatyper i Java: http://docs.oracle.com/javase/tutorial/java/nutsandbolts/ datatypes.html q q q q byte short int long q q float q boolean char q October 14, 2013 5
Unicode October 14, 2013 6
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, 2013 7
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, 2013 8
Typomvandlingar October 14, 2013 9
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, 2013 10
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, 2013 11
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 = 1234567890; float tal2 = tal1; " q Men vi kan få avrundningsfel! tal2 ovan lagras som 1.2345679E9 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, 2013 12
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 65535 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, 2013 13
Exempel i Eclipse... October 14, 2013 14
Booleska operationer October 14, 2013 15
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, 2013 16
Exempel class Jamfora int tal1 = 2; int tal2 = 3; boolean b1 = tal1 >= tal2; boolean b2 = tal1 == tal2; October 14, 2013 17 System.out.println(b1); //sant eller falskt? System.out.println(b2); //sant eller falskt?
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 = 1 + 2 <= 2 + 2 3 >= 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, 2013 18
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, 2013 19
Villkor och val October 14, 2013 20
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, 2013 21
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, 2013 22
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, 2013 23
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, 2013 24
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, 2013 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"); uttag October 14, 2013 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, 2013 27
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, 2013 28
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, 2013 29
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, 2013 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, 2013 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 = 200.0-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, 2013 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 = 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, 2013 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 = 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, 2013 34 evabl45> Uttag ok evabl45> Nytt saldo är: 100.0
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, 2013 35 evabl45> Uttag ok evabl45> Nytt saldo är: 100.0
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, 2013 36
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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, 2013 51
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, 2013 52
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, 2013 53
Textsträngar och Javas standardbibliotek October 14, 2013 54
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 http://docs.oracle.com/javase/6/docs/api/java/lang/string.html October 14, 2013 55
Exempel class Text String mintext = "Hej!"; String annantext = "Hejsan!"; System.out.println(mintext); System.out.println(mintext + " " + annantext); October 14, 2013 56
Exempel "Hej!" class Text String mintext = "Hej!"; String annantext = "Hejsan!"; mintext String System.out.println(mintext); System.out.println(mintext + " " + annantext); October 14, 2013 57
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, 2013 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); evabl45> Hej! October 14, 2013 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! evabl45> Hej! Hejsan! October 14, 2013 60
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, 2013 61
Javadoc för klassen String October 14, 2013 62
Vi läser Javadoc för Stringklassen... October 14, 2013 63
Tips för att läsa Javadoc 64
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, 2013 65
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, 2013 66
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, 2013 67 s1 String
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, 2013 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 "anropa metoden touppercase() på värdet som finns i variabeln s1, lagra sedan resultatet i s1" October 14, 2013 69
touppercase()? October 14, 2013 70
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, 2013 71
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, 2013 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, 2013 73
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, 2013 74
concat()? October 14, 2013 75
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, 2013 76
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, 2013 77 s1 String s2 String
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, 2013 78
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, 2013 79
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, 2013 80
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, 2013 81 s1 String evabl45> TEXT evabl45> TEXT MER text s2 String
Vi testar att stega i Eclipse... October 14, 2013 82
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, 2013 83
Nästa gång? n Arrayer och loopar October 14, 2013 84
October 14, 2013 85