String

Werbung
© 2004 Pohlig - Taulien
Die Klasse String und
ihre Methoden
GK Informatik mit java
1
© 2004 Pohlig - Taulien
Deklaration und Initialisierung
OOP
String name;
name = “Java“;
String name = “Java“;
aber auch!!
Klasse String
Objekt mit dem
Bezeichner name
String name = new String();
name = “Java“;
Erzeugungsoperator
GK Informatik mit java
Konstruktor
2
© 2004 Pohlig - Taulien
Die wichtigsten Stringmethoden - Zusammenstellung
name.charAt(i)
Liefert ein Zeichen aus einem String-Objekt,
name.substring(i,j)
Liefert einen Teilstring aus einem StringObjekt,
name.length()
Liefert die Anzahl der gültigen Zeichen in
einem String-Objekt,
name.equals(xxx)
Prüft ob der Inhalt des String-Objektes xxx
ist,
name.compareTo(xxx)
Prüft, ob der Inhalt des String-Objektes
lexikalisch vor oder nach xxx kommt.
name.toUpperCase()
Liefert einen String, in dem alle Zeichen von
name als Grossbuchstaben vorliegen.
name.toLowerCase()
Liefert einen String, in dem alle Zeichen von
name als Kleinbuchstaben vorliegen.
Integer.parseInt(name)
Enthält das String-Objekt Zeichen, die als
int-Zahl interpretiert werden kann, so liefert
diese Methode der Klasse Integer den intWert des ursprünglichen Strings.
GK Informatik mit java
3
© 2004 Pohlig - Taulien
Die Methode charAt(i)
String text = “JAVA-IST-TOLL“;
J
A
V
A
-
I
S
T
-
T
O
L
L
0
1
2
3
4
5
6
7
8
9
10
11
12
char zeichen = text.charAt(7);
System.out.println(zeichen);
Ausgabe: das Zeichen “T“
GK Informatik mit java
4
© 2004 Pohlig - Taulien
Die Methode substring(i,j)
Immer noch: text = “JAVA-IST-TOLL“;
J
A
V
A
-
I
S
T
-
T
O
L
L
0
1
2
3
4
5
6
7
8
9
10
11
12
String teil = text.substring(3,7);
Ausgabe: A-IS
System.out.println(teil);
GK Informatik mit java
5
© 2004 Pohlig - Taulien
Die Methode length()
Immer noch: text = “JAVA-IST-TOLL“;
J
A
V
A
-
I
S
T
-
T
O
L
L
0
1
2
3
4
5
6
7
8
9
10
11
12
int laenge = text.length();
System.out.println(laenge);
Ausgabe: 13
GK Informatik mit java
6
© 2004 Pohlig - Taulien
Die Methode equals(xxx)
Wertesemantik
Referenzsemantik
String text1 = “JAVA-IST-TOLL“;
a==b
Prüft=die“java-ist-toll“;
Gleichheit der
Prüft die Gleichheit der
String
text2
Werte von a und b
Referenzen von a und b.
public class Gleich{
Prüft nicht,ob die Objekte
a und b inhaltlich
gleich
public static void main(String[]
args){
boolean gleich = text1.equals(text2);
sind.
int a = 3;
int b =Nicht
3; vorhanden
a.equals(b)
Prüft die inhaltliche
Gleichheit von a und b
boolean gleich = a.equals(b);
Die System.out.println(gleich);
Variable gleich hat den Wert false!
}
} //Error: int cannot be dereferenced
GK Informatik mit java
7
© 2004 Pohlig - Taulien
String - Referenz
import info1.*;
public class EqualsDemo {
In den String-Objekten mit den
text1 und
text2 {
public static voidBezeichnern
main (String
args[])
lediglich Adressen der
String text1 =werden
new String();
Speicherplätze abgelegt, an denen
text1 = Console.in.readWord();
eigentliche
Zeichenkette liegt.
String text2 =dienew
String();
String-Objekte sind Referenzen
text2 = Console.in.readWord();
boolean gleich1 = text1==text2;
System.out.println(gleich1);
boolean gleich2 = text1.equals(text2);
System.out.println(gleich2);
}
}
GK Informatik mit java
8
© 2004 Pohlig - Taulien
String – Referenz - Speicheroptimierung
public class
EqualsDemo2
{ dass die beiden
Der Compiler
erkennt,
Referenzen auf die gleiche Zeichenkette
publiczeigen.
static void main (String args[]) {
String text1 = new String();
text1
= "Java";
Zwecks
Optimierung des Speichers
String
text2
= new Adressen,
String();die in text1
werden
die beiden
text2 = "Java";
und text2 abgelegt werden gleichgesetzt.
boolean gleich1 = text1==text2;
System.out.println(gleich1);
Wertevergleich liefert wie der
boolean
gleich2 = true.
text1.equals(text2);
Referenzvergleich
System.out.println(gleich2);
}
}
GK Informatik mit java
9
© 2004 Pohlig - Taulien
Die Methode compareTo(xxx)
String name1 =“Manfred“;
String name2 =“Valentina“;
int i = name1.compareTo(name2);
Der Inhalt von name1 kommt alphabetisch vor dem
Inhalt von name2, i bekommt einen negativen Wert
 Man kann Sortieren.
GK Informatik mit java
10
© 2004 Pohlig - Taulien
Die Methoden toUpperCase() und toLowerCase()
String text = “Java-ist-toll“;
String textGross = text.toUpperCase();
String textKlein = text.toLowerCase();
System.out.println(textGross+" "+textKlein);
Ausgabe: JAVA-IST-TOLL java-ist-toll
GK Informatik mit java
11
© 2004 Pohlig - Taulien
Die Integer-Methode parseInt(xxx)
Wir sagen: Der Operator + ist überladen.
text1 =wird
“123“;
SeineString
Funktionalität
damit kontextabhängig.
String text2 = “456“;
String text = text1+text2;
Diese
Pluszeichen
Ausgabe:
123456
System.out.println(text);
haben
unterschiedliche
Funktionalität.
int zahl1 = Integer.parseInt(text1);
int zahl2 = Integer.parseInt(text2);
int zahl = zahl1 + zahl2;
Ausgabe: 579
System.out.println(zahl);
GK Informatik mit java
12
Herunterladen