Strings in Java. Die String Klasse und Methoden. A. Müller

Ähnliche Dokumente
Verarbeitung von Zeichenketten

Der Datentyp String. Stringvariable und -vergleiche

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

Ein erstes Java-Programm

Einführung in die Programmierung 1

Einstieg in die Informatik mit Java

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

HEUTE. Unterschiede Pseudocode / Programmcode. Rundung und modulo (Tafel) Pseudocode: findprimeswithdifference. Strings in JAVA.

1 Polymorphie (Vielgestaltigkeit)

Übung Datenstrukturen. Objektorientierung in C++

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

AuD-Tafelübung T-B5b

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Einführung in die Java- Programmierung

Repetitorium Informatik (Java)

Javakurs zu Informatik I. Henning Heitkötter

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Primitive Datentypen und Felder (Arrays)

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Java Generics & Collections

Computeranwendung und Programmierung (CuP)

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Java I Vorlesung 6 Referenz-Datentypen

Interfaces und Vererbung

JAVA-Datentypen und deren Wertebereich

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Objektorientierte Programmierung OOP Programmieren mit Java

Tutoraufgabe 1 (2 3 4 Bäume):

Dr. Monika Meiler. Inhalt

Übungsblatt 3: Algorithmen in Java & Grammatiken

JAVA KURS COLLECTION

Modul 122 VBA Scribt.docx

PIWIN 1 Übung Blatt 5

Einstieg in die Informatik mit Java

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

Kapitel 3: Variablen

Javakurs für Anfänger

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Ausdrücke und primitive Typen

Vererbung. Martin Wirsing. Ziele. Vererbung

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Inhalte Informatik. I1 Grundprinzip des objektorientierten Modellierens I3 Modellieren von Netzwerkanwendungen

Liste Programmieren Java Überblick

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

C++-Zusammenfassung. H. Schaudt. August 18, 2005

Algorithmen und Programmierung II

Einführung in die Programmierung für Wirtschaftsinformatik

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

5.4 Klassen und Objekte

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Java Kurs für Anfänger Einheit 5 Methoden

Datenbankanwendungsprogrammierung Crashkurs Java

Grundlagen der Informatik Enums, Strings und Arrays

4 Der Umgang mit Zeichenketten

Einstieg in die Informatik mit Java

Javakurs für Anfänger

Einstieg in die Informatik mit Java

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Bibliotheken (Java API)

Propädeutikum zur Programmierung

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java: Vererbung. Teil 3: super()

Programmieren in Java

Deklarationen in C. Prof. Dr. Margarita Esponda

Javakurs für Anfänger

Programmieren. JavaScript-Objekt-Verarbeitung mit GSON. Heusch --- Ratz Institut für Angewandte Informatik

Kapitel 6. Vererbung

Programmierkurs Java

Java für Computerlinguisten

Java-Schulung Grundlagen

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

Programmierung mit C Zeiger

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Java Einführung Collections

Algorithmen und Datenstrukturen

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */)

Java Schulung (Java 2 Java Development Kit 5 / 6)

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Java Einführung Klassendefinitionen

3 Objektorientierte Konzepte in Java

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Transkript:

Strings in Java Die String Klasse und Methoden

Inhalt Stringklasse in Java - Grundlegende Eigenschaften - Methoden der Stringklasse - vergleichen - suchen - ersetzen - Methoden der Stringbuilder - klasse - einfügen - löschen - verändern - Konvertieren in einen String - Formatangaben Page 2

Stringklasse Eigenschaften - In Java werden Zeichenketten durch die String Klasse repräsentiert - Sie bietet: - Methoden zum Erzeugen von Zeichenketten, - zur Extraktion von Teilstrings, - zum Vergleich mit anderen Strings und - zur Erzeugung von Strings - wichtigste Datenstruktur für Ein- und Ausgabe oder Verarbeitung von Zeichen.

Stringklasse Weitere Eigenschaften - die Klasse String ist mit dem Attribut final belegt. - gesteigerte Effizienz beim Aufruf der Methoden - Compiler kann final -Methoden statisch kompilieren - und dadurch schneller aufrufen - aus der String-Klasse können keine neuen Klassen abgeleitet werden - String-Objekte sind nicht dynamisch : - Die substring-methode z.b erzeugt eine Kopie - Diese wrid dann an den Aufrufer zurückgegeben und s zugewiesen - Originalinstanz wird gelöscht ->bsp Listing1

Stringklasse Immutable - z.b. String und Integer - Objekte dieses Typs können nach ihrer Konstruktion nicht mehr verändert werden (sie sind immutable) Page 5

Konstruktoren Werden verwendet um String-Objekte explizit zu erzeugen. String() - Erzeugt ein leeres String-Objekt. String(String value) - Erzeugt einen neuen String durch Duplizierung eines bereits vorhandenen. String(char[] value) - Erzeugt einen neuen String aus einem vorhandenen Zeichen-Array. Dabei werden alle Elemente des Arrays in den String übernommen.

Zeichenextraktion char charat(int index) throws tringindexoutofboundsexception - Liefert das Zeichen an Position index. - Dabei hat das erste Element eines Strings den Index 0 und das letzte den Index length()-1 String substring(int begin, int end) - Liefert den Teilstring, der an Position begin beginnt und an Position end endet. String trim() - Auf beiden Seiten der Zeichenkette werden jeweils alle zusammenhängenden Leerzeichen entfernt Page 7

Die Länge der Zeichenkette int length() - Liefert die aktuelle Länge des String-Objekts. - Ist der Rückgabewert 0, so bedeutet dies, dass der String leer ist. - Wird ein Wert n größer 0 zurückgegeben, so enthält der String n Zeichen, die an den Indexpositionen 0 bis n - 1 liegen. -> bsp Listing2

Vergleichen von Zeichenketten boolean equals(object anobject) -> bsp Vergleichen1 - testet auf inhaltliche Gleichheit - vergleicht mit der String-Darstellung eines beliebigen Objekts boolean startswith(string s) / endswith(string s) - testet, ob das String-Objekt mit der Zeichenkette s beginnt bzw endet int compareto(string s) - führt einen lexikalischen Vergleich beider Strings durch - Zeichen werden paarweise von links nach rechts verglichen - String-Objekt kleiner als s -> negativer Rückgabewert - Größer-> ein positiver Wert / gleich -> 0 Page 9

Vergleichen von Zeichenketten boolean regionmatches( int toffset, String other, int ooffset, int len ) - vergleicht zwei gleich lange String-Regionen - die in zwei unterschiedlichen Strings an zwei unterschiedlichen Positionen liegen können. ->bsp Listing3 - regionmatches(8, Grüße., 8, Greetings,2); Page 10

Suchen in Zeichenketten int indexof(string s) - sucht das erste Vorkommen der Zeichenkette s innerhalb des Objekts - die Methode gibt den Index der ersten Übereinstimmung zurück sonst -1 int indexof(string s, int fromindex) - beginnt mit der Suche aber erst ab Position fromindex - Rückgabewerte wie indexof() int lastindexof(string s) - sucht nach dem letzten Vorkommen des Teilstrings s - Rückgabewerte wie indexof() Page 11

Ersetzen von Zeichenketten String tolowercase() / String touppercase() - liefert einen String zurück bei dem alle Zeichen in - Kleinbuchstaben bzw. Großbuchstaben umgewandelt werden String replace(charsequence olds, CharSequence news) - Es werden alle Vorkommen der Zeichenkette olds durch news ersetzt - so dass ein Ersetzen von aa durch ab bei aaa zum Resultat aba führt ->bsp: replace1 Page 12

Ersetzen von Zeichenketten string.split("\\s") - Durch split() können Zeichenketten in mehrere Teile zerlegt werden. - '\s' ist hierbei eine Kurzform für alle Arten von»leerzeichen«- '\d' Eine Zahl zwischen 0 und 9 -> bsp Listing4 Page 13

Konvertierungsfunktionen static String valueof(boolean b) - Weitere Typen : char; double ; float; int; long; - wandelt ein primitives Objekt mit Hilfe der Methode tostring - in eine Zeichenkette um Page 14

Die Klasse StringBuilder Da Objekte des Typs String nicht dynamisch sind StringBuilder ab JDK 5 vorher Stringbuffer dynamische Verkettung von String-Objekten möglich Page 15

Konstruktoren StringBuilder() - erzeugt einen leeren StringBuilder StringBuilder(String s) - erstellt ein StringBuilder-Objekt (Kopie der übergebenen Zeichenkette) Page 16

Einfügen von Elementen StringBuilder append(string s) - der String s wird an das Ende des StringBuilder-Objekts angehängt - das verlängerte StringBuilder-Objekt s wird zurückgegeben ->bsp Listing1 StringBuilder insert(int offset, String s) - fügt den String s an der Position offset in den aktuellen StringBuilder ein - das verlängerte StringBuilder-Objekt s wird zurückgegeben Page 17

Löschen von Elementen public StringBuilder deletecharat(int index) - das an Position index stehende Zeichen wird entfernt public StringBuilder delete(int start, int end) - delete entfernt den Teilstring, der von Position start bis end reicht Page 18

Verändern von Elementen void setcharat(int index, char c) - das an Position index stehende Zeichen wird durch Zeichen c ersetzt throws StringIndexOutOfBoundsException - Wird ausgelöst, wenn index hinter dem Ende des Strings ist Page 19

Längeninformationen int length() - Liefert die Anzahl der Zeichen, die im StringBuilder Obj. enthalten sind public int capacity() - Hier wird die Größe des belegten Pufferspeichers ermittelt. - Dieser Wert ist typischerweise größer als der von length zurückgegebene Wert. ->Listing1 Page 20

Konvertierung in einen String String tostring() - Das StringBuilder Objekt wird dieser Methode effizient in einen String umgewandelt - Methode liefert einen Zeiger auf den internen Zeichenpuffer - Erst wenn der StringBuilder erneut verändert werden soll, wird tatsächlich eine Kopie erzeugt Page 21

Die Formatangaben System.out.format("Wert: %3d%n", i); - Es werden zwei Parameter übergeben: - der Formatstring»Wert: %3d%n«und die Schleifenvariable i System.out.format("%b %b %2$b %1$b%n", true, false); -»Argument-Index$«gibt den Bezug auf den Parameter der Formatangabe an -»1$«ist das erste Argument nach dem Formatstring,»2$«zweite usw. - Ohne dies werden die Argumente der Reihe nach zugeordnet Page 22

Die Formatangaben Die wichtigsten»conversion«datentypen: - b - Boolescher Wert - c - Einzelnes Zeichen - d - Ganzzahl in Dezimaldarstellung - o - Ganzzahl in Oktaldarstellung - x - Ganzzahl in Hexadezimaldarstellung - f - Fließkommazahl - e - Fließkommazahl mit Exponent - g - Fließkommazahl in gemischter Schreibweise - t - Prefix für Datums-/Zeitangaben - s - Strings und andere Objekte Page 23

Die Formatangaben Die Zeit und Datum Datentypen: - H - Stunde, zweistellig, im 24-Stunden-Format - M - Minute, zweistellig - S - Sekunde, zweistelli - d - Tag, zweistellig - m - Monat, zweistellig, 1..12 - Y - Jahr, vierstellig - F - Datum, formatiert nach ISO 8601 (YYYY-MM-DD - c - Kompletter Datums-/Zeitstring inkl. Zeitzone Page 24

Die Formatangaben FLAGS - Mit den»flags«können weitere Ausgabeoptionen abgerufen werden - - - Linksbündige Ausgabe - + - Vorzeichen immer ausgegeben - 0 - Zahlen werden mit Nullen aufgefüllt -, - Zahlen werden mit Tausenderpunkten ausgegeben - ( - Negative Zahlen werden in Klammern eingeschlossen Page 25

Quellen: Handbuch der Java-Programmierung, 5. Auflage www.uni-koeln.de