28/07/2015Walther-Rathenau- Gewerbeschule 1 Zeichenketten (Strings)

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

der Universität Oldenburg
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Zusammenfassung der Vorwoche
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Kapselung , toString , equals , Java API
der Universität Oldenburg
3 Sprachelemente und Anweisungen JavaHS Merseburg (FH) WS 06/07 Strings (Zeichenketten)
Java: Dynamische Datentypen
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Indirekte Adressierung
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Referenzen und Zeichenketten
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Ein Beispiel in Java.
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
V AdresseWert public static void main(...){ int[] v; v=new int[2]; } Was veranlasst diese Anweisung im Arbeitsspeicher ? Es wird im Arbeitsspeicher.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
ARRAY oder FELD oder VEKTOR
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Imperative Programmierung
Zusammenfassung Vorwoche
DVG Dateien. DVG Die Klasse File Die Klasse File stellt die Verbindung zwischen dem File-System des Rechners und dem JAVA-Programm her.
Arrays,Strings&Pointer in C/C++
DVG Einführung in Java1 Einführung in JAVA.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Einführung in die Programmierung Datensammlung
Gymnasium Horn – Bad Meinberg
Grundkonzepte Java - Klassendefinition
Wir bauen uns eine Webapplikation!
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Grundlagen der Programmierung
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Variablenkonzept Klassisch, in Java Basistyp
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Die Klasse String und ihre Methoden
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Verarbeitung von Char, Strings und Zeichenketten 2.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
OQL-Anbindung an Java (1) Java als Beispiel für die Einbettung von OQL in eine Programmiersprache Die OQL-Einbettung in Java ist teilweise mit dynamischem.
Anführungszeichen?! echo 'Apfel$atf'; // ergibt: Apfel$aft
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Variablen und Datentypen
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Namensräume (namespaces). verwendet man umfangreiche eigene und fremde Bibliotheken (Sammlungen von Funktionen) so ist die Wahrscheinlichkeit groß, daß.
Java Programme nur ein bisschen objektorientiert.
Die Programmiersprache Java
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Konstruktoren.
Hello World! Javakurs 2013 Arne Kappen
Aufgaben zu Rückgabewerten
Wiederholungen mit Zähler
Die Struktur einer Java-Klasse
Es gibt Klassen, die mit der Entwicklungsumgebung ausgeliefert werden
 Präsentation transkript:

28/07/2015Walther-Rathenau- Gewerbeschule 1 Zeichenketten (Strings)

28/07/2015 java.lang.String String: Eine Sammlung von char-Zeichen (16-Bit Unicodezeichen): ● "Hallo Ich heiße Ahmad" (String) ● 'A' (char und KEIN String) ● "A"(String) ● String stellt die Klasse der nicht änderbaren (siehe nächste Folie) String-Objekten dar. ● Auch die Klassen StringBuilder und StringBuffer repräsentieren Zeichenketten in Java. Deren Verwendung ist bei häufigen Veränderungen effizienter.

28/07/2015 String-Konstruktion Einige Möglichkeiten der String (- Objekt) -Bildung: String str = "Ich bin ein String-Objekt"; String str2 = new String("Ich bin ein String-Objekt"); Die zweite Lösung erzeugt unnötigerweise ein zusätzliches String- Objekt, denn das Literal "Ich bin ein String-Objekt" ist ja bereits ein vollwertiges String-Objekt. String(char[] data) String(char[] value, int offset, int length) String(StringBuffer buffer) String(byte[] bytes) String(byte[] bytes, String charsetName) //charsetName: spezielle Zeichenkodierung, die die //Umwandlung von Bytes in Unicode-Zeichen festlegt....

28/07/2015 Einige String-Methoden System.out.println("hamburger"); String c = "hamburger".substring(4,8); // urge String cde = "cde"; System.out.println("abc" + cde); String d = cde.substring(1, 2); // d String träne = "Jede Träne kitzelt auch die Wange."; System.out.println( träne.substring( 5, 11 ) ); // Träne int l = "hamburger".length() // 9 Die Klasse String enthält viele Methoden, um einzelne Buchstaben aus Strings zu ermitteln, die Länge eines Strings zu bestimmen, Strings zu verbinden usw.. (siehe:

28/07/2015 Einige String-Methoden System.out.println("".length()); // 0 System.out.println(" ".length()); // 1 if ("Ich bin fleißig.".contains("bin")) {…} if ("Ich bin fleißig.".indexOf("bin")!=-1) {…} String s = "Ich bin fleißig."; char first = s.charAt(0); // 'I' char last = s.charAt(s.length() – 1); // '.' System.out.println(s.replaceAll(" +", " " )); // Ich bin fleißig. System.out.println(s.replaceFirst(" +", " ")); // Ich bin fleißig.

28/07/2015 Strings sind immutable und final Im laufe eines Programms können sehr viele redundante String-Objekte den Speicher belagern. Um Java mehr effizient zu machen, besitzt die JVM ein spezielles Speicherbereich, den sog. String-Konstant-Pool! Sollen neue String-Objekte erzeugt werden, schaut der Compiler, ob bereits ein Klon-Objekt im Konstant-Pool bereit steht. Es kann nun sein, dass zwei Objekte, die nichts voneinander wissen, Verweise auf dasselbe String-Objekt bekommen. Damit es nicht zu Seiteneffekten kommt, sind die Strings immutable also unveränderbar. Nicht änderbar (immutable) bedeutet: Keine Methode darf ein String- Objekt verändern (z. B. einen Buchstaben im String durch einen anderen ersetzen usw..). Methoden die den Anschein machen, also ob sie einen String verändern liefern in Wahrheit lediglich ein neues String-Objekt mit den gewünschten Veränderungen zurück.

28/07/2015 Strings sind immutable und final "ottbert" String s = "ottbert"; s = s.toUpperCase(); "OTTBERT"

28/07/2015 String-Vergleich String s1 = new String(" abcdef "); String s2 = new String(" abcdef "); System.out.println(str1==str2); Der Vergleich str1 == str2 liefert dann false weil s1 und s2 offensichtlich nicht dasselbe Objekt repräsentieren!! " abcdef "

28/07/2015 String-Vergleich s1 == s2 liefert hier true, weil die Variablen ungewollt auf dasselbe String-Objekt aus dem Konstant-Pool zeigen...

28/07/2015 String-Vergleich Strings werden nicht mit Hilfe des Vergleichsoperator == auf Gleichheit geprüft, sondern mit Hilfe der Methoden equals() und equalsIgnoreCase().

28/07/2015 Links zu Strings