11.03.2014 Aufrufe

JAVA - Strings

JAVA - Strings

JAVA - Strings

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!