String
&
Input/Output
Av: Gard Inge Rosvold (gardir@ifi.uio.no)
Innhold
-
String
- Verdi
- Variabel
- Klassen
-
I/O - Input/Output
- Output (terminal)
- God utskriftskultur
- Input
- Fra bruker
- Fra fil
- Output (fil)
- Gjenbruk
- Output (terminal)
- char og tallsystem
Verdi
String
-
String-
Verdi
-
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
"Dette er en String verdi"
"Dette er en annen String verdi"
"2"
"Alt innenfor sitattegn er String verdi"
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabeldeklarasjon
String variabelEn;
// Initiering
variabelEn = "String verdi";
// Deklarasjon m/initiering
String variabelTo = "Trenger bedre variabelnavn";
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelinitiering
String setning = "INF1000 er gøy";
String leddsetning = ", siden programmering er gøy";
// Variabelmanipulasjon
String helsetning = setning + leddsetning;
// Hvordan ser den nå ut?
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelinitiering
String setning = "INF1000 er gøy";
String leddsetning = ", siden programmering er gøy";
// Variabelmanipulasjon
String helsetning = setning + leddsetning;
// Hvordan ser den nå ut?
"INF1000 er gøy, siden programmering er gøy";
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelmutasjon
// fra int:
int a = 4;
int b = 10;
a += b; // de legges sammen, sant?
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelmutasjon
// fra int:
int a = 4;
int b = 10;
a += b; // de legges sammen, sant?
// a = 14
Variabel
String
-
StringVerdiVariabel
Klassen
-
I/O - Input/Output
-
Output (terminal)
God utskriftskultur
-
Input
Fra bruker
Fra fil
-
Output (fil)
Gjenbruk
-
char og tallsystem
// Variabelmutasjon
// fra int:
int a = 4;
int b = 10;
a += b; // de legges sammen, sant?
// String er litt annerledes
String grav = "grave";
String mask = "maskin";
grav += maskin; // Resultat?
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelmutasjon
// fra int:
int a = 4;
int b = 10;
a += b; // de legges sammen, sant?
// String er litt annerledes
String grav = "grave";
String mask = "maskin";
grav += maskin; // Resultat?
"gravemaskin"
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelmutasjon
// fra int:
int a = 4;
int b = 10;
a += b; // de legges sammen, sant?
// String er litt annerledes
String grav = "grave";
String mask = "maskin";
grav += maskin; // Resultat?
// Utvidet
String prod = "produsent";
String led = "ledelsen";
grav += prod;
grav += led; // Resultat?
Variabel
String
-
String-
Verdi -
Variabel
-
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
// Variabelmutasjon
// fra int:
int a = 4;
int b = 10;
a += b; // de legges sammen, sant?
// String er litt annerledes
String grav = "grave";
String mask = "maskin";
grav += maskin; // Resultat?
// Utvidet
String prod = "produsent";
String led = "ledelsen";
grav += prod;
grav += led; // Resultat?
"gravemaskinprodusentledelsen"
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
- JavaDoc er din venn:
- http://docs.oracle.com/
- javase/8/docs/api/
- java/lang/String.html
- javase/8/docs/api/
- http://docs.oracle.com/
- String.java
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Klassen
String
-
StringVerdiVariabelKlassen
-
I/O - Input/Output
-
Output (terminal)
God utskriftskultur
-
Input
Fra bruker
Fra fil
-
Output (fil)
Gjenbruk
-
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- .equals(String other)
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
- .equals(String other)
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
- .equals(String other)
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
String lengdeEksempel = "123456789";
int lengde = lengdeEksempel.length();
// resultatet?
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
- .equals(String other)
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
String lengdeEksempel = "123456789";
int lengde = lengdeEksempel.length();
// resultatet?
// lengde = 9
lengdeEksempel = "verre eksempel";
lengde = lengdeEksempel.length()
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
- .equals(String other)
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
String lengdeEksempel = "123456789";
int lengde = lengdeEksempel.length();
// resultatet?
// lengde = 9
lengdeEksempel = "verre eksempel";
lengde = lengdeEksempel.length()
// lengde = 14
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
String strengEn = "identisk";
boolean erLike = strengEn.equals("identisk");
// true/false?
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
String strengEn = "identisk";
boolean erLike = strengEn.equals("identisk");
// true
String strengTo = "identiske";
erLike = strengEn.equals(strengTo);
// true/false?
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- .subString(int beginIndex)
- .indexOf(String str)
String strengEn = "identisk";
boolean erLike = strengEn.equals("identisk");
// true
String strengTo = "identiske";
erLike = strengEn.equals(strengTo);
// false
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- returnerer char'en på index-posisjonen
- .subString(int beginIndex)
- .indexOf(String str)
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .charAt(int index)
- returnerer char'en på index-posisjonen
- .subString(int beginIndex)
- .indexOf(String str)
String cashMoney = "$money!";
if (cashMoney.charAt(0) == '$') {
// cash money
}
else {
// no money
}
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .charAt(int index)
- returnerer char'en på index-posisjonen
- .subString(int beginIndex)
- .indexOf(String str)
String cashMoney = "$money!";
if (cashMoney.charAt(0) == '$') {
// cash money
// cash IN
}
else {
// no money
}
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- returnerer char'en på index-posisjonen
- .subString(int beginIndex)
- returnerer ny String-verdi fra beginIndex -posisjonen
- .indexOf(String str)
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .subString(int beginIndex)
- returnerer ny String-verdi fra beginIndex -posisjonen
- .indexOf(String str)
String cashMoney = "$1000";
String cash;
if (cashMoney.charAt(0) == '£') {
cash = cashMoney.subString(1) + " more cash!";
}
else {
cash = cashMoney.subString(0) + ", wrong cash...";
}
// do we get cash, or wrong cash?
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .length()
- returnerer lengden av String-verdien
-
.equals(String other)
- returnerer boolean true hvis identiske
- .charAt(int index)
- returnerer char'en på index-posisjonen
- .subString(int beginIndex)
- returnerer ny String-verdi fra beginIndex -posisjonen
- .indexOf(String str)
- returnerer posisjonen på start av String str
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .indexOf(String str)
- returnerer posisjonen på start av String str
String cashMoney = "Inntekten sist uke var $1000";
int cashIndex = cashMoney.indexOf("$");
// kan dette brukes til da?
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Noen kjente metoder:
- .indexOf(String str)
- returnerer posisjonen på start av String str
String cashMoney = "Inntekten sist uke var $1000";
int cashIndex = cashMoney.indexOf("$");
// kan brukes for å hente ut noe!
String cash = cashMoney.subString(cashIndex);
// cash = "$1000"
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Representerer en egenskap/verdi
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Representerer en egenskap/verdi
- Kan ikke tilfredstille relasjoner til andre klasser
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Representerer en egenskap/verdi
- Kan ikke tilfredstille relasjoner til andre klasser
- DVD =/= String
- Person =/= String
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Representerer en egenskap/verdi
- Kan ikke tilfredstille relasjoner til andre klasser
- DVD =/= String
- Person =/= String
- Bør bare være den ene egenskapen den inneholder
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Representerer en egenskap/verdi
- Kan ikke tilfredstille relasjoner til andre klasser
- DVD =/= String
- Person =/= String
- Bør bare være den ene egenskapen den inneholder
- String navn;
- String tittel;
- String addresse;
- etc.
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Funker altså bra som nøkkelverdi i (Hash)Map
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Funker altså bra som nøkkelverdi i (Hash)Map
- Nøkler representerer typisk en unik egenskap ved en klasse
String uniktNavn = "uniktNavn";
Person p = new Person(uniktNavn);
navneliste.put(uniktNavn, p);
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Funker altså bra som nøkkelverdi i (Hash)Map
- Nøkler representerer typisk en unik egenskap ved en klasse
- Ikke som representasjon for en annen klasse
String uniktNavn = "uniktNavn";
Person p = new Person(uniktNavn);
navneliste.put(uniktNavn, p);
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Funker altså bra som nøkkelverdi i (Hash)Map
- Nøkler representerer typisk en unik egenskap ved en klasse
- Ikke som representasjon for en annen klasse
- Andre klasser har mer egenskaper enn det en String har informasjon om.
String uniktNavn = "uniktNavn";
Person p = new Person(uniktNavn);
navneliste.put(uniktNavn, p);
String eier;
String laaner;
// vs.
Person eier;
Person laaner;
Klassen
String
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output
-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Til slutt:
- Funker altså bra som nøkkelverdi i (Hash)Map
- Nøkler representerer typisk en unik egenskap ved en klasse
- Ikke som representasjon for en annen klasse
- Andre klasser har mer egenskaper enn det en String har informasjon om.
- Enkelt å få String egenskapen fra Person - ikke motsatt
String uniktNavn = "uniktNavn";
Person p = new Person(uniktNavn);
navneliste.put(uniktNavn, p);
String eier;
String laaner;
// vs.
Person eier;
Person laaner;
Output
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
God utskriftskultur
- Tydelige utskrifter
- Informative utskrifter
- Poeng i utskriftene
Output
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
God utskriftskultur
- Tydelige utskrifter
- Informative utskrifter
- Poeng i utskriftene
int a = 1;
int b = 2;
System.out.println(a+b); // output: 3
// ikke særlig informativt
Output
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
God utskriftskultur
- Tydelige utskrifter
- Informative utskrifter
- Poeng i utskriftene
int a = 1;
int b = 2;
println(a+b); // output: 3
// ikke særlig informativt
println(a + " + " + b + " = " + a+b);
// bedre, men er det riktig?
Output
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)
-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
God utskriftskultur
- Tydelige utskrifter
- Informative utskrifter
- Poeng i utskriftene
int a = 1;
int b = 2;
println(a+b); // output: 3
// ikke særlig informativt
println(a + " + " + b + " = " + a+b);
// output = '1 + 2 = 12'
// bedre, men er det riktig? Nei
println(a + " + " + b + " = " + (a+b));
// utskriftsmetoden tolker a+b som to
// _separate_ strings
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Scanner stdin = new Scanner(System.in);
String navn = stdin.nextLine();
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Scanner stdin = new Scanner(System.in);
// Gi beskjed hva som forventes
println("Hva er navnet ditt?");
String navn = stdin.nextLine();
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Scanner stdin = new Scanner(System.in);
// Gi beskjed hva som forventes
println("Hva er navnet ditt?");
String navn = stdin.nextLine();
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Scanner stdin = new Scanner(System.in);
// Gi beskjed hva som forventes
println("Hva er navnet ditt?");
String navn = stdin.nextLine();
// Nå har vi lært
println("Hva er din alder?");
String alderStreng = stdin.nextLine();
int alder = Integer.parseInt(alderStreng);
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Scanner stdin = new Scanner(System.in);
// Gi beskjed hva som forventes
println("Hva er navnet ditt?");
String navn = stdin.nextLine();
// Nå har vi lært, men husk eksempel
println("Hva er din alder? (skriv kun _et tall_, f.eks: 26");
String alderStreng = stdin.nextLine();
int alder = Integer.parseInt(alderStreng);
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker
-
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra bruker
- Utnytt den gode utskriftskulturen
- Informer hva som forventes
- Gjerne gi eksempler
- Gjør det intuitivt
Scanner stdin = new Scanner(System.in);
int sum = 0;
println("Skriv et tall og trykk " +
"enter for aa summere");
int inntastet = Integer.parseInt(stdin.nextLine());
while (inntastet != 0) {
sum += inntastet;
print("Summen er nå: " + sum + ".");
print(" Skriv inn et nytt tall");
println(", eller rykk 0 for aa avslutte.");
inntastet = Integer.parseInt(stdin.nextLine());
}
Input
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input
-
Fra bruker -
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Fra fil
- Finn mønsteret
- Sjekk at din innlesing er riktig ift. dette mønsteret (utskrifter)
- Deretter kan du bruke mønsteret til det du vil
Output
I/O
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)
-
Gjenbruk
-
-
-
char og tallsystem
Gjenbruk
- Samme format som det som ble lest inn.
- Gjenbruk metoder som returnerer String fra objektene, og bruk disse når du skriver til fil.
- F.eks. informasjonsutskrifter
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
// kan gjør String til char[] array
String titallString = "0123456789";
char[] titallsystemet = titallString.toCharArray();
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
// kan gjør String til char[] array
String titallString = "0123456789";
char[] titallsystemet = titallString.toCharArray();
// = {'0','1','2','3','4','5','6','7','8','9'};
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
// kan gjør String til char[] array
String titallString = "0123456789";
char[] titallsystemet = titallString.toCharArray();
// = {'0','1','2','3','4','5','6','7','8','9'};
// da kan man endre tegn direkte i arrayen
titallsystemet[5] = 'f';
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
// kan gjør String til char[] array
String titallString = "0123456789";
char[] titallsystemet = titallString.toCharArray();
// = {'0','1','2','3','4','5','6','7','8','9'};
// da kan man endre tegn direkte i arrayen
titallsystemet[5] = 'f';
// = {'0','1','2','3','4','f','6','7','8','9'};
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
// kan gjør String til char[] array
String titallString = "0123456789";
char[] titallsystemet = titallString.toCharArray();
// = {'0','1','2','3','4','5','6','7','8','9'};
// da kan man endre tegn direkte i arrayen
titallsystemet[5] = 'f';
// = {'0','1','2','3','4','f','6','7','8','9'};
// og lage en ny streng basert på arrayen
titallString = new String(titallsystemet);
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
// deklarasjon
char etTegn;
// sett verdi
etTegn = '1';
// alle _enkelttegn_ innenfor 'e'nkeltquotes er en char
// ikke lov med flere 'to' tegn
// kan gjør String til char[] array
String titallString = "0123456789";
char[] titallsystemet = titallString.toCharArray();
// = {'0','1','2','3','4','5','6','7','8','9'};
// da kan man endre tegn direkte i arrayen
titallsystemet[5] = 'f';
// = {'0','1','2','3','4','f','6','7','8','9'};
// og lage en ny streng basert på arrayen
titallString = new String(titallsystemet);
// = "01234f6789";
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
Så hvorfor tallsystem?
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
Så hvorfor tallsystem?
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
Så hvorfor tallsystem?
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
Så hvorfor tallsystem?
char sisteBokstav = 'z'; // 122
char forsteBokstav = 'a'; // 97
int antallBokstaver = sisteBokstav - forsteBokstav; // 122 - 97 = ?
System.out.println("Det er " + antallBokstaver + " mellom '" +
forsteBokstav + "' og '" + sisteBokstav + "'");
// Det er 25 mellom 'a' og 'z'
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
Så hvorfor tallsystem?
char sisteBokstav = 'z'; // 122
char forsteBokstav = 'a'; // 97
int antallBokstaver = sisteBokstav - forsteBokstav; // 122 - 97 = ?
System.out.println("Det er " + antallBokstaver + " mellom '" +
forsteBokstav + "' og '" + sisteBokstav + "'");
// Det er 25 mellom 'a' og 'z'
public boolean erLitenBokstav(char c) {
boolean erLiten = false; // false inntil det motsatte er bevist
if ( 'a' <= c && c <= 'z' ) {
// det er en liten bokstav
erLiten = true;
}
return erLiten;
}
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
01110101 w00t ?
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
01110101 w00t ?
128 64 32 16 8 4 2 1
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
01110101 w00t ?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
01110101 w00t ?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
64 + 32 + 16 + 4 + 1 = 113
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
01110101 w00t ?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
64 + 32 + 16 + 4 + 1 = 113
113 = 'q'
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
Så hvorfor tallsystem?
01110101 w00t ?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
64 + 32 + 16 + 4 + 1 = 113
113 = 'q'
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
0*2^7 + 1*2^6 + 1*2^5 + 1*2^4 +
0*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 113
0 + 65 + 32 + 16 +
0 + 8 + 0 + 1 = 113
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- char er tall
- kan regnes med
- viktig å forstå binære tall
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
16-tallsystemet
8 4 2 1 | 8 4 2 1
0 1 1 1 0 1 0 1
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
16-tallsystemet
8 4 2 1 | 8 4 2 1
0 1 1 1 0 1 0 1
75
4-tallsystemet
2 1 | 2 1 | 2 1 | 2 1
0 1 1 1 0 1 0 1
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
16-tallsystemet
8 4 2 1 | 8 4 2 1
0 1 1 1 0 1 0 1
75
4-tallsystemet
2 1 | 2 1 | 2 1 | 2 1
0 1 1 1 0 1 0 1
1311
8-tallsystemet
(4) 2 1 | 4 2 1 | 4 2 1
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
16-tallsystemet
8 4 2 1 | 8 4 2 1
0 1 1 1 0 1 0 1
75
4-tallsystemet
2 1 | 2 1 | 2 1 | 2 1
0 1 1 1 0 1 0 1
1311
8-tallsystemet
(4) 2 1 | 4 2 1 | 4 2 1
0 0 1 1 1 0 1 0 1
165
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
16-tallsystemet
8 4 2 1 | 8 4 2 1
0 1 1 1 0 1 0 1
75
4-tallsystemet
2 1 | 2 1 | 2 1 | 2 1
0 1 1 1 0 1 0 1
1311
8-tallsystemet
(4) 2 1 | 4 2 1 | 4 2 1
0 0 1 1 1 0 1 0 1
165
1 * 8^2
6 * 8^1
5 * 8^0
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
11-tallsystemet (0123456789A)
113 / 11 = 10
A
113 - 10*11 = 113 - 110 = 3
A3
13-tallsystemet
113 / 13 = 8
113 - 8*13 = 113 - 104 = 9
89
Posisjonen som avgjør
8 * 13^1
9 * 13^0
char og tallsystem
-
String-
Verdi -
Variabel -
Klassen
-
-
I/O - Input/Output-
Output (terminal)-
God utskriftskultur
-
-
Input-
Fra bruker -
Fra fil
-
-
Output (fil)-
Gjenbruk
-
-
-
char og tallsystem
- andre tallsystem bekrefter forståelsen av binære tall
Så hvorfor tallsystem?
128 64 32 16 8 4 2 1
0 1 1 1 0 1 0 1
11-tallsystemet (0123456789A)
113 / 11 = 10
A
113 % 11 = 3
A3
13-tallsystemet
113 / 13 = 8
113 % 13 = 9
89
Posisjonen som avgjør
8 * 13^1
9 * 13^0
String
&
Input/Output
The End
Repetisjon: String & I/O
By gardir
Repetisjon: String & I/O
Dette er slides for repetisjonskurset i INF1000 angående "String & I/O"
- 1,712