Einstieg in die Informatik mit Java

Ähnliche Dokumente
Zeichenketten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java. 16.

Einstieg in die Informatik mit Java

Hüllklassen. Gerd Bohlender. 25. Juni Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Klassen als Datenstrukturen

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

Der Datentyp String. Stringvariable und -vergleiche

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Vererbung, Polymorphie

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Objektorientierte Programmierung. Kapitel 18: Strings

Einstieg in die Informatik mit Java

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 10: Strings

1 Klassen und Objekte

Einstieg in die Informatik mit Java

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Methoden und Wrapperklassen

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Repetitorium Informatik (Java)

Einstieg in die Informatik mit Java

Klassen mit Instanzmethoden

Übung Datenstrukturen. Objektorientierung in C++

Objektorientierte Programmierung und Klassen

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

1 Hashing und die Klasse String

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

Einstieg in die Informatik mit Java

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Verarbeitung von Zeichenketten

Klassenvariablen, Klassenmethoden

Einführung in die Programmierung

Konzepte benutzerdefinierter Datenstrukturen

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Einstieg in die Informatik mit Java

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Java Datentypen und Variablen

Computeranwendung und Programmierung (CuP)

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

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

Einstieg in die Informatik mit Java

Computeranwendung und Programmierung (CuP)

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Institut für Informatik und Angewandte Kognitionswissenschaften

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

Programmieren 2 Java Überblick

Projekt 3 Variablen und Operatoren

Algorithmen und Datenstrukturen

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Einstieg in die Informatik mit Java

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Vererbung. Oberklassen und Unterklassen

4. Vererbung Die Klasse Object. Die Klasse Object

Objektorientierte Programmierung Studiengang Medieninformatik

Einstieg in die Informatik mit Java

Programmiertechnik Erweiterungen in Java 5

Vererbung und Polymorphie

Stack stack = new Stack(); stack.push ("Würstchen"); string s = (string) stack.pop(); Console.WriteLine (s);

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Algorithmen und Datenstrukturen II

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Die Klasse java.lang.object. Thorsten Treffer

Programmiertechnik Skalare Typen,Variablen, Zuweisungen

Übungsblatt 3: Algorithmen in Java & Grammatiken

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

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Transkript:

1 / 13 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik

Gliederung 2 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für Zeichenketten 4 Methoden zur Bearbeitung von Zeichenketten

Gliederung 3 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für Zeichenketten 4 Methoden zur Bearbeitung von Zeichenketten

4 / 13 Zeichenketten Im Gegensatz zu C sind Zeichenketten in Java Objekte und keine char Felder. Dabei kann zwischen konstanten und variablen Zeichenketten unterschieden werden. Konstante Zeichenketten sind Objekte der Klasse String, variable Zeichenketten sind Objekte der Klasse StringBuffer.

Gliederung 5 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für Zeichenketten 4 Methoden zur Bearbeitung von Zeichenketten

Erzeugen von Zeichenketten 6 / 13 Zeichenketten lassen sich durch eine direkte Zuweisung oder durch Aufruf des Konstruktors der Klasse String erzeugen.

Erzeugen von Zeichenketten 6 / 13 Zeichenketten lassen sich durch eine direkte Zuweisung oder durch Aufruf des Konstruktors der Klasse String erzeugen. Beispiel S t r i n g s1 = aha ; S t r i n g s2 = new S t r i n g ( aha ) ;

6 / 13 Erzeugen von Zeichenketten Zeichenketten lassen sich durch eine direkte Zuweisung oder durch Aufruf des Konstruktors der Klasse String erzeugen. Beispiel S t r i n g s1 = aha ; S t r i n g s2 = new S t r i n g ( aha ) ; Achtung String ist konstant, Referenz ist variabel: S t r i n g s = aha ; s = nanu ;

Erzeugen von Zeichenketten 6 / 13 Zeichenketten lassen sich durch eine direkte Zuweisung oder durch Aufruf des Konstruktors der Klasse String erzeugen. Beispiel S t r i n g s1 = aha ; S t r i n g s2 = new S t r i n g ( aha ) ; Achtung String ist konstant, Referenz ist variabel: S t r i n g s = aha ; s = nanu ; s s aha nanu

Erzeugen von Zeichenketten 7 / 13 Zeichenfelder lassen sich nur durch Übergabe an den Konstruktor der Klasse String in Zeichenketten umwandeln. Eine direkte Zuweisung ist nicht erlaubt.

Erzeugen von Zeichenketten 7 / 13 Zeichenfelder lassen sich nur durch Übergabe an den Konstruktor der Klasse String in Zeichenketten umwandeln. Eine direkte Zuweisung ist nicht erlaubt. Objekte (insbesondere Felder und Instanzen von Klassen) können mit Hilfe der Methode tostring() in eine Zeichenkette umgewandelt werden; hierbei wird allerdings nur eine wenig aussagekräftige interne Darstellung des Objekts erzeugt.

Erzeugen von Zeichenketten 7 / 13 Zeichenfelder lassen sich nur durch Übergabe an den Konstruktor der Klasse String in Zeichenketten umwandeln. Eine direkte Zuweisung ist nicht erlaubt. Objekte (insbesondere Felder und Instanzen von Klassen) können mit Hilfe der Methode tostring() in eine Zeichenkette umgewandelt werden; hierbei wird allerdings nur eine wenig aussagekräftige interne Darstellung des Objekts erzeugt. Beliebige Typen können mit Hilfe der Stringkonkatenation in Zeichenketten umgewandelt werden.

Erzeugen von Zeichenketten 7 / 13 Zeichenfelder lassen sich nur durch Übergabe an den Konstruktor der Klasse String in Zeichenketten umwandeln. Eine direkte Zuweisung ist nicht erlaubt. Objekte (insbesondere Felder und Instanzen von Klassen) können mit Hilfe der Methode tostring() in eine Zeichenkette umgewandelt werden; hierbei wird allerdings nur eine wenig aussagekräftige interne Darstellung des Objekts erzeugt. Beliebige Typen können mit Hilfe der Stringkonkatenation in Zeichenketten umgewandelt werden. Beispiel char [ ] c a r r a y = { a, h, a } ; S t r i n g s3 = new S t r i n g ( c a r r a y ) ; / / e r g i b t aha i n t i = 123; S t r i n g s4 = + i ; / / e r g i b t 123

Gliederung 8 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für Zeichenketten 4 Methoden zur Bearbeitung von Zeichenketten

9 / 13 Operatoren für Zeichenketten Achtung Die Umwandlung von Zeichenketten in ganze Zahlen bzw. Gleitkomazahlen geschieht über spezielle Hüllklassen!

9 / 13 Operatoren für Zeichenketten Achtung Die Umwandlung von Zeichenketten in ganze Zahlen bzw. Gleitkomazahlen geschieht über spezielle Hüllklassen! Die Stringkonkatenation + verknüpft zwei Zeichenketten miteinander.

9 / 13 Operatoren für Zeichenketten Achtung Die Umwandlung von Zeichenketten in ganze Zahlen bzw. Gleitkomazahlen geschieht über spezielle Hüllklassen! Die Stringkonkatenation + verknüpft zwei Zeichenketten miteinander. Die Verknüpfung ist auch mit Hilfe des kombinierten Zuweisungsoperators += möglich.

9 / 13 Operatoren für Zeichenketten Achtung Die Umwandlung von Zeichenketten in ganze Zahlen bzw. Gleitkomazahlen geschieht über spezielle Hüllklassen! Die Stringkonkatenation + verknüpft zwei Zeichenketten miteinander. Die Verknüpfung ist auch mit Hilfe des kombinierten Zuweisungsoperators += möglich. Ein Test auf Gleichheit bzw. Ungleichheit der Referenzen kann mit Hilfe von == bzw.!= durchgeführt werden. Es findet dabei kein inhaltlicher Vergleich statt. Trotzdem kann dieser gutgehen, da der Kompiler nach Möglichkeit die gleiche Zeichenkette nur einmal abspeichert.

9 / 13 Operatoren für Zeichenketten Achtung Die Umwandlung von Zeichenketten in ganze Zahlen bzw. Gleitkomazahlen geschieht über spezielle Hüllklassen! Die Stringkonkatenation + verknüpft zwei Zeichenketten miteinander. Die Verknüpfung ist auch mit Hilfe des kombinierten Zuweisungsoperators += möglich. Ein Test auf Gleichheit bzw. Ungleichheit der Referenzen kann mit Hilfe von == bzw.!= durchgeführt werden. Es findet dabei kein inhaltlicher Vergleich statt. Trotzdem kann dieser gutgehen, da der Kompiler nach Möglichkeit die gleiche Zeichenkette nur einmal abspeichert. Besser ist der Vergleich mit equals() oder compareto(), siehe unten.

Operatoren für Zeichenketten 10 / 13 Beispiel S t r i n g s5 = W i l l i ; s5 += am ; / / e r g i b t s5 = William S t r i n g s6 = Anja ; s7 = Anja ;

Operatoren für Zeichenketten 10 / 13 Beispiel S t r i n g s5 = W i l l i ; s5 += am ; / / e r g i b t s5 = William S t r i n g s6 = Anja ; s7 = Anja ; s6 Anja s7

Gliederung 11 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für Zeichenketten 4 Methoden zur Bearbeitung von Zeichenketten

Methoden zur Bearbeitung von Zeichenketten 12 / 13 Die folgenden Methoden erfordern allesamt die objektorientierte Schreibweise: Syntax Variable.Methode (Argumente);

Methoden zur Bearbeitung von Zeichenketten 12 / 13 Die folgenden Methoden erfordern allesamt die objektorientierte Schreibweise: Syntax Variable.Methode (Argumente); Methode Beschreibung Argumenttyp Ergebnistyp equals(s) Vergleicht Zeichenketten String boolean inhaltlich miteinander. length() Ermittelt Länge int der Zeichenkette. charat(i) Greift ein Zeichen raus. int char substring(i,j) Greift Teilzeichenkette raus i: int String (Zeichen i bis j-1) j: int replace(c1,c2) Ersetzt Zeichen c1 c1: char String durch Zeichen c2. c2: char indexof(s) Liefert Index eines Zeichens char, String int oder einer Teilzeichenkette bzw. -1, falls nicht vorhanden. compareto(s) Vergleicht Zeichenketten String int in lexikalischer Reihenfolge.

Methoden zur Bearbeitung von Zeichenketten 13 / 13 Beispiel S t r i n g s8 = Alex ; S t r i n g s9 = Alex ; i f ( s8. equals ( s9 ) )... / / e r g i b t t r u e S t r i n g s10 = Achtung ; i n t dim = s10. l e n g t h ( ) ; / / e r g i b t dim=7 S t r i n g s11 = s10. s u b s t r i n g ( 3, 5 ) ; / / e r g i b t s11 = tu S t r i n g s12 = b l a b l a ; S t r i n g s13 = s12. replace ( a, u ) ; / / e r g i b t s13 = b l u b l u i n t i = s13. indexof ( b ) ; / / e r g i b t i =0 i n t j = s13. indexof ( blu ) ; / / e r g i b t j =0 S t r i n g s14 = Anita ; i f ( s8. compareto ( s14) <0)... / / e r g i b t t r u e

Methoden zur Bearbeitung von Zeichenketten 13 / 13 Beispiel S t r i n g s8 = Alex ; S t r i n g s9 = Alex ; i f ( s8. equals ( s9 ) )... / / e r g i b t t r u e S t r i n g s10 = Achtung ; i n t dim = s10. l e n g t h ( ) ; / / e r g i b t dim=7 S t r i n g s11 = s10. s u b s t r i n g ( 3, 5 ) ; / / e r g i b t s11 = tu S t r i n g s12 = b l a b l a ; S t r i n g s13 = s12. replace ( a, u ) ; / / e r g i b t s13 = b l u b l u i n t i = s13. indexof ( b ) ; / / e r g i b t i =0 i n t j = s13. indexof ( blu ) ; / / e r g i b t j =0 S t r i n g s14 = Anita ; i f ( s8. compareto ( s14) <0)... / / e r g i b t t r u e Es gibt noch viele weitere Methoden (siehe auch Webseiten der Vorlesung und Java Dokumentation).