Characters und Strings

Werbung
Characters und
Strings
Einführung in Java
Folie 1 von 13
12. Mai 2011
Ivo Kronenberg
Inhalt
•
Char Literal
•
Zeichensätze in Java
•
Darstellung Sonderzeichen
•
Strings
•
Strings Vergleichen
•
Objekt als String ausgeben (toString)
•
Performance
•
String Formatieren
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 2 von 13
Char Literal
•
Primitiver Datentyp char repräsentiert ein
Zeichen (Character)
•
Zeichen wird zwischen (einfachen)
Hochkommas dargestellt.
•
Können verglichen werden (alphabetisch)
char ch = ‘a‘;
boolen gleich = (ch == ‘a‘);
•
Jeder Character entspricht einem Zeichencode
(numerischer Wert)
•
Implizite Konversion nach int, jedoch nicht
umgekehrt.
•
Grösse ist 2 Byte
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 3 von 13
Zeichensatz
ASCII
0
Characters und Strings | Ivo Kronenberg
ISO-Latin-1
7 8
Unicode
16 bit
12. Mai 2011
Folie 4 von 13
Darstellung Sonderzeichen
•
Hexadezimale Darstellung
– \uXXXX (2 Byte Hex Code)
char ch = \u0061; // -> 97 dezimal -> ‚a‘
•
Ersatzdarstellung Kontrollzeichen
–
–
–
–
–
\n
\t
\“
\‘
\\
Zeilenvorschub
Tabluator
Gänsefüsschen
Hochkomma
Backslash
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 5 von 13
Strings
•
Referenztyp
•
Unveränderlicher Typ
•
Repräsentiert Textstück
•
Text wird in einzelnen char abgelegt (Container)
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 6 von 13
Anwendung String
•
Definition
String s = „abc“;
String s = new String(„abc“); // alternativ
•
Konkatenierung
String s1 = „SWS“;
String s2 = s1 + „ Bern“;
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 7 von 13
Methoden auf Strings
•
Methoden:
– char charAt(int index)
– int indexOf(int ch)
int length()
– int lastIndexOf(int ch)
– String trim()
Nachlesen in Java API:
http://download-llnw.oracle.com/javase/6/docs/api/
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 8 von 13
Repräsentation als String
•
Primitive Datentypen
– Implizite Konversion
•
Objekte
– Automatischer Methodenaufruf toString().
– toString() darf auch explizit aufgerufen werden.
– Default Implementation liefert Speicheradresse von
Objekt zurück.
Beispiel: java.lang.Object@e48e1b
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 9 von 13
Vergleichen von Strings
•
Gleichheitsoperator (==)
– Nur true wenn die gleichen Objekte
•
equals Methode
•
compareTo Methode
– Rückgabewert 0 wenn Strings identisch
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 10 von 13
Performance mit Strings
•
String Konkatenierung ist ineffizient, da
fortlaufend neue Objekte erzeugt werden.
•
Verwendung von StringBuilder oder
StringBuffer (Thread Safe) zur Optimierung.
StringBuilder sb = new StringBuilder();
sb.append(„String 1“).append(„String 2“);
String s = sb.toString();
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 11 von 13
String Formatierung
•
Statische Methode String.format(…)
•
Argumente:
– String mit Formatangaben (Schablone)
– Substitutionswerte in Text
•
Formatangaben:
–
–
–
–
–
%d Ganze Zahl
%f Floatingpoint Zahl
%s String
%c Zeichen
%%
Prozent Zeichen
Beispiel:
String.format(„Mwst. %.2f%%“, 8.0); // Ausgabe: Mwst. 8.00%
Characters und Strings | Ivo Kronenberg
12. Mai 2011
Folie 12 von 13
String Formatierung
•
Formatangaben:
–
–
–
–
–
Spalten auffüllen: %10f
Spalte mit 0 auffüllen: %010f
Nachkommastellen: %.2f
Linksbündig: %-10.2f
Ausgabe Vorzeichen: %+.2f
Characters und Strings | Ivo Kronenberg
„ 7.800000“
„07.800000“
„7.80“
„7.80
„
„+7.80“
12. Mai 2011
Folie 13 von 13
Herunterladen