JAVA - Strings
JAVA - Strings
JAVA - Strings
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Übungen Informatik I<br />
<strong>JAVA</strong><br />
-<strong>Strings</strong><br />
http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/Tutorial<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 1
<strong>JAVA</strong><br />
Klasse String<br />
• Java besitzt eine sehr leistungsfähige Klasse zur Bearbeitung von<br />
Zeichenketten.<br />
• Ein Zeichenkette ist in Java = eine Reihung von Elementen des Typs char.<br />
ein char-Typ in Java wird durch ein Unicode-Zeichen repräsentiert<br />
also: String = Kette von Unicode-Zeichen<br />
• Der Inhalt der Zeichenketten kann nicht verändert werden. Jede Änderung<br />
erzwingt eine komplette Freigabe des alten Objektes sowie eine neue<br />
Speicheranforderung<br />
• Im Gegensatz zu C oder C++ ist die Zeichenkette nicht 0-terminiert.<br />
• Die Klasse String stammt aus dem Paket java.lang.<br />
Die genaue Dokumentation der Klasse String ist in der API-Dokumentation<br />
zu finden.<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 2
<strong>JAVA</strong><br />
Klasse String<br />
String unterstützt die Operatoren + und += zum Verbinden zweier String-<br />
Objekte<br />
public class TestString {<br />
public static void main( String[] args ) {<br />
String test = "Hallo";<br />
String test2;<br />
test2 = test;<br />
// Kopiert alle Zeichen<br />
test2 += ", Tester";<br />
// Hängt ", Tester" an test2 an<br />
System.out.println( test2 ); // druckt: “Hallo, Tester“<br />
}<br />
}<br />
String az;<br />
String a = "ABC";<br />
String z = "XYZ";<br />
az = a + z;<br />
int j;<br />
j = 1 + 1;<br />
String ergebnis = " j = " + j;<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 3
<strong>JAVA</strong><br />
Methoden der Klasse String<br />
Die Klasse String bietet Methoden zur Manipulation der Zeichenkette.<br />
Der Inhalt der Zeichenketten kann nicht verändert werden. Jede<br />
Änderung erzwingt eine komplette Freigabe des alten Objektes sowie<br />
eine neue Speicheranforderung:<br />
‣ Methoden zum Erzeugen von Zeichenketten<br />
‣ Methoden zur Zeichenextraktion<br />
‣ Methoden zum Vergleich mit anderen <strong>Strings</strong><br />
‣ Methoden zum Erzeugung von primitiven Typen<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 4
<strong>JAVA</strong><br />
Methoden der Klasse String<br />
int length()<br />
Länge der Zeichenkette.<br />
Suchen in Zeichenketten:<br />
int indexOf(String str)<br />
(auch int indexOf(char a))<br />
liefert den Index des ersten übereinstimmenden Zeichens der<br />
Zeichenkette str innerhalb des String-Objekts (andernfalls -1)<br />
<br />
int indexOf(String ch, int fromIndex)<br />
s.o, aber Suche beginnt erst ab fromIndex<br />
( auch int indexOf(char a, int fromIndex))<br />
<br />
ebenso int lastIndexOf …<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 5
<strong>JAVA</strong><br />
Methoden der Klasse String<br />
String trim ()<br />
entfernt alle zusammenhängenden Leerzeichen am Ende<br />
beider Seiten einer Zeichenfolge.<br />
Ersetzen in Zeichenketten<br />
String toLowerCase()<br />
String toUpperCase()<br />
konvertiert eine Zeichenfolge in Klein- bzw. Großbuchstaben.<br />
<br />
String replace (char oldchar, char newchar)<br />
zeichenweise Konvertierung des aktuellen String-Objekts:<br />
oldchar wird durch newchar ersetzt.<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 6
<strong>JAVA</strong><br />
Methoden der Klasse String „Vergleichen “<br />
<br />
boolean equals (Object anObject)<br />
-> testet auf inhaltl. Gleichheit; true, wenn akt.<br />
Stringobj = anObject<br />
<br />
boolean equalsIgnoreCase(String str)<br />
ignoriert evtl. vorh. Unterschiede in der Groß-/Kleinschreibung<br />
<br />
<br />
boolean startsWith (String str)<br />
testet, ob das String-Objekt mit der Zeichenkette str beginnt<br />
boolean endsWith(String str)<br />
testet, ob das String-Objekt mit der Zeichenkette str endet<br />
<br />
int compareTo (String str)<br />
lexikalischer Vergleich (paarweise von links nach rechts) beider <strong>Strings</strong><br />
Ergebnis: -1, wenn akt. String-Objekt < str<br />
0, wenn akt. String-Objekt = str<br />
wenn Unterschied auftritt, od. ist einer der <strong>Strings</strong> beendet ist,<br />
wird Ergebnis ermittelt.<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 7
<strong>JAVA</strong><br />
Methoden der Klasse String<br />
„Konvertieren“<br />
String valueOf(int i)<br />
wandelt primitive Datentypen mit Hilfe der Methode toString,<br />
(aus der zugehörenden Wrapper-Klasse) in eine Zeichenketten um:<br />
static String valueOf (boolean b)<br />
static String valueOf (char c)<br />
static String valueOf (char[] c)<br />
static String valueOf (double d)<br />
static String valueOf (float f)<br />
static String valueOf (int i)<br />
static String valueOf (long l)<br />
static String valueOf (Object obj)<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 8
<strong>JAVA</strong><br />
Methode length der Klasse String<br />
int length ()<br />
liefert die aktuelle Länge des<br />
String-Objekts<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 9
<strong>JAVA</strong><br />
Methode substring der Klasse String<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 11
<strong>JAVA</strong><br />
Methode charAt der Klasse String<br />
char charAt (int index)<br />
liefert das Zeichen an<br />
der Position index<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 12
<strong>JAVA</strong><br />
Methode charAt der Klasse String<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 13
<strong>JAVA</strong><br />
Auszug aus der API–Dokumentation für „Klasse String“:<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 14
<strong>JAVA</strong><br />
Wrapper (Hüll-/Verpackungs-) -Klassen<br />
Wrapper-Klassen verpacken Grundtypen in Klassen<br />
⇒ auf Grundwerte können OO-Techniken angewendet werden.<br />
Wrapper-Klassen gibt es zu jedem Grundtyp :<br />
short Short byte Byte<br />
int Int long Long<br />
float Float double Double<br />
char Character boolean Boolean<br />
häufige Anwendung: <strong>Strings</strong> in Grundtyp-Werte konvertieren (parsen).<br />
→ statische Methoden<br />
Beispiele für Parser-Methoden: (erst seit JDK 1.2)<br />
parseInt (String s) => konvertiert einen String in int -Wert<br />
parseDouble (String s) => konvertiert einen String in double -Wert<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 15
<strong>JAVA</strong><br />
Wrapper (Hüll-/Verpackungs-) -Klassen<br />
Beispiele:<br />
String “0.5“ in double konvertieren:<br />
double x = Double.parseDouble (" 0.5 ");<br />
String “124“ in int konvertieren: String s = " 124 ";<br />
int i = Integer.parseInt (s);<br />
Methoden für ältere JDK-Versionen:<br />
String sd = " 0.9 " :<br />
int j = Integer.valueOf (" 1001 ").intValue();<br />
double d = Double.valueOf (sd).doubleValue();<br />
Für Wrapper-Klassen sind min./max-Konstanten definiert:<br />
Byte.MIN_VALUE => -128<br />
Byte.MAX_VALUE => 127<br />
Integer.MIN_VALUE => -2147483648<br />
Integer.MAX_VALUE => 2147483647<br />
Double.MIN_VALUE => -4.9E-324<br />
Double.MAX_VALUE => 1.7976931348623157E308<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 16
<strong>JAVA</strong><br />
Parameter-Eingabe<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 17
<strong>JAVA</strong><br />
Wrapper Klasse Integer : Methode toString<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 18
<strong>JAVA</strong><br />
Wrapper Klasse Integer : Methode toString<br />
System.out.println ("\u00df”); gibt immer ein ß aus.<br />
(egal von welcher Plattform aus das Java-Programm übersetzt wird)<br />
Helga Gabler, Holger Vogelsang, Christian Pape<br />
Übungen Informatik 1 Folie 19