Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik

Größe: px
Ab Seite anzeigen:

Download "Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik"

Transkript

1 Programmieren I Strings und Wrapperklassen Heusch 7.3 Ratz KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft

2 Die Klasse String Für Zeichenketten gibt es in Java die Klasse String String ist kein primitiver Datentyp sondern eine Klasse. Die Klasse String besitzt Methoden zum Arbeiten mit Zeichenketten. Die Klasse String ist final; keine Unterklassen ableitbar. Sonderform für die Erzeugung von Objekten: Objekte müssen nicht mit new erzeugt werden (können aber). Zeichenketten bestehen aus Unicode-Zeichen. Im Quellprogramm werden Zeichenketten (Literale) in doppelte Anführungszeichen " eingeschlossen. Die leere Zeichenkette "" hat die Länge 0. Inhalt und Länge eines Strings sind immer konstant. Es gibt keine Setter-Methoden zum Ändern der gespeicherten Zeichenkette. Daher werden String-Objekte auch immutable (unveränderbar) bezeichnet. Bei Zuweisung einer neuen Zeichenkette an eine String-Variable wird ein neues String-Objekt erzeugt und das alte freigegeben, falls keine weitere Referenz auf das String-Objekt existiert. 2 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

3 String-Objekte, Beispiele Deklaration von String-Variablen und Erzeugung von Strings: String identifier; identifier = "Text"; String identifier = "Text"; String identifier = new String("Text"); Zuweisung einer neuen Zeichenkette: String s = "Good bye";... s = "Auf Wiedersehen"; s Good bye s Good bye Auf Wiedersehen 3 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

4 Ausgabe von Strings, Zeilenumbrüche Ausgabe von Zeilenumbruch: Wenn in einem String die Zeichenfolge (Escape-Sequenz) "\n" vorkommt, wird bei der Ausgabe des Strings ein Zeilenumbruch erzeugt. Strings können außer mit System.out.print und System.out.println auch formatiert mit Hilfe von System.out.printf ausgegeben werden. Formatspezifizierer für die format. Ausgabe von Strings: %s Beispiel für die formatierte Ausgabe mit printf: String text = "rectangle"; int i = 4; System.out.printf("A %s has %d corners.\n", text, i); // statt \n auch %n möglich Ausgabe A rectangle has 4 corners. 4 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

5 Eingabe von Strings Für das Einlesen von Strings mit der Klasse java.util.scanner (vgl. Kapitel Primitive Datentypen ) hat diese Klasse die Methoden: String next() Liest die Zeichenfolge bis zum nächsten Trennzeichen (Leerzeichen, Tabulator, Zeilentrenner) ein (ein Token). String nextline() Liest die Zeichenfolge bis zum nächsten Zeilentrenner ein. Beispiel für das Einlesen eines Token von der Standardeingabe: java.util.scanner scan = new java.util.scanner(system.in); String s = scan.next(); // Einlesen des nächsten String-Tokens 5 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

6 Strings verketten String s1 = "Develop"; String s2 = "ment"; String s = s1 + s2; s1 s2 Develop ment s1 s2 Develop Inhalte kopieren ment s Development String s1 = "Develop"; String s2 = "ment"; s1 = s1 + s2; // oder: s1 += s2; s1 s2 Develop ment s1 s2 Develop Inhalte kopieren ment Development Develop wird vom GarbageCollector eingesammelt, sofern keine andere Referenz darauf besteht. 6 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

7 Strings vergleichen: Interne Verwaltung von Strings Man muss unterscheiden: Strings, deren Inhalt bereits beim Compilieren feststeht (d.h. String-Literale im Quellprogramm, wie z.b. das String- Literal in String s="hallo";): werden nur einmal erzeugt und in einem String-Pool abgelegt; existieren während des Compilierens weitere Strings mit dem gleichen Inhalt, verweisen alle auf dasselbe String-Objekt, d.h. im Beispiel alle auf dieselbe interne Zeichenkette "Hallo". Strings, die dynamisch, d.h. erst zur Laufzeit eines Programms, gebildet werden: Für diese erzeugt Java immer ein neues, separates String- Objekt. 7 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

8 Strings inhaltlich vergleichen Für den inhaltlichen Vergleich von Strings gibt es in der Klasse String die Instanzmethoden: boolean equals(object o) Vergleicht den Inhalt des betreffenden String-Objekts mit dem Objekt o. Die Zeichenketten selbst werden verglichen, und als Ergebnis wird true oder false geliefert. boolean equalsignorecase(string s) Überprüft diesen String auf inhaltliche Gleichheit mit dem String s im Parameter, ignoriert dabei aber die Groß-/Kleinschreibung. Beispiel: String s1 = "text"; String s2 = new String("Text"); System.out.println(s1.equals(s2)); System.out.println(s1.equalsIgnoreCase(s2)); Ausgabe false true 8 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

9 Strings lexikografisch vergleichen int compareto(string s) Vergleicht Strings lexikografisch. Der Rückgabewerte ist 0 (bei Gleichheit) oder entsprechend der alphabetischen Ordnung im Unicode kleiner 0 (wenn betr. Objekt < s) oder größer 0 (sonst). Beispiel: String s1 = "text"; String s2 = new String("Text"); System.out.println(s2.compareTo(s1)); System.out.println(s1.compareTo(s2)); Ausgabe 9 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

10 Strings mit Operator == vergleichen Vorsicht: Beim String-Vergleich mit dem Operator == werden Referenzen verglichen. Dabei kann es auch bei inhaltlicher Gleichheit der Objekte unterschiedliche Ergebnisse geben: Beim Vergleich von zwei gleichen String-Literalen liefert == das Ergebnis true, da es sich um Referenzen auf dasselbe String- Objekt im String-Pool handelt. Wurden ein oder beide Strings im Programm dynamisch erzeugt, liefert der Vergleich auch bei gleichem Inhalt der Objekte den Wert false, da es sich um verschiedene String-Objekte handelt. Beispiel: String s1 = "Text"; String s2 = "Text"; String s3 = new String("Text"); String s4 = new String("Text"); System.out.println(s1==s2); System.out.println(s2==s3); System.out.println(s3==s4); Ausgabe true false false 10 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

11 Teile von Strings vergleichen boolean contains(charsequence s) Überprüft, ob die Zeichenfolge s im beteffenden String enthalten ist. (CharSequence: String, StringBuffer, StringBuilder). Beispiel: String s1 = "text"; String s2 = new String("Text"); String s3 = new String("Context"); System.out.println(s3.contains(s1)); System.out.println(s3.contains(s2)); Ausgabe true false 11 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

12 Weitere Methoden der Klasse String (1) char charat(int index) Liefert das Zeichen an der Position index. (index: 0... Stringlänge-1). char c = "abc".charat(1); // 'b' boolean endswith(string value) Überprüft, ob der String mit value endet. String s1 = "Text"; if ( s1.endswith("xt") ) {... } // true int indexof(string value) Liefert den (ersten) Index innerhalb des Strings, an dem die Zeichenkette value beginnt. Liefert -1, falls value nicht enthalten ist. String s = "Application"; int i = s.indexof("atio"); // liefert 6 12 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

13 Weitere Methoden der Klasse String (2) int length() Liefert die Länge der Zeichenkette int len = s.length(); // 11 char[] tochararray() Wandelt diesen String um in ein neues char-array String substring(int i) String substring(int i, int i1) Liefert den Teil-String beginnend beim Index i bis zum Ende bzw. bis zu i1-1 String s2 = s.substring(2, 4); // nun ist s2="pl" String replace(char oldc, char newc) Ersetzt alle vorkommenden Zeichen oldc durch newc String s3 = s.replace('c', 'k'); // nun sind s="application" bzw. s3="applikation" String s = "Application"; 13 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

14 Weitere Methoden der Klasse String (3) String replaceall(string regex, String replacement) Ersetzt alle Vorkommen von regex im String durch replacement. regex ist ein regulärer Ausdruck. Ein regulären Ausdruck beschreibt ein Muster; kann auch einfacher String sein. boolean matches(string regex) Ermittelt, ob d. String einem regulären Ausdruck regex entspricht. static String valueof(type var) Liefert die String-Darstellung des primitiven Datentyps bzw. Objekts static String format(string format, Object... args) Gibt einen formatierten String zurück, entsprechend dem Formatstring format und den Argumenten args. Für jeden Formatspezifizierer im Formatstring gibt es ein Argument args. 14 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

15 Strings formatieren mit format Die Formatspezifizierer (Parameter für die Formatierung inkl. Umwandlungszeichen) sind dieselben wie bei printf (siehe Folien zu "Operatoren"). Beispiel: Aktuelles Datum formatieren und ausgeben GregorianCalendar date = new GregorianCalendar(); String s = String.format("Date: %04d,%02d,%02d", date.get(calendar.year), date.get(calendar.month) + 1, // month: 0 based date.get(calendar.day_of_month)); System.out.println(s); Ausgabe (für Silvester 2015) Date: 2016,12,31 15 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

16 Strings formatieren mit Formatter-Klassen Datumsformatierungen sind noch einfacher mit der Klasse java.text.simpledateformat Angabe eines Musters ( Pattern ) für die Ausgabe des Datums SimpleDateFormat sdf = new SimpleDateFormat("YYYY,MM,dd"); Date date = new Date(); System.out.println("Date: " + sdf.format(date)); Ausgabe (für Silvester 2016) Date: 2016,12,31 YYYY MM dd Jahr, 4-stellig Monat, 2-stellig Tag im Monat, 2-stellig Dokumentation der möglichen Pattern-Bestandteile: Weitere Formatter-Klasse: java.text.decimalformat für die formatierte Ausgabe von Zahlen, bspw. um Tausender-Stellen mit. oder Leerzeichen abzuseparieren. 16 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

17 Kleine Zwischenaufgabe Schreiben Sie eine Applikation StartParameterProcessor. Das Programm soll eine beliebige Anzahl von beim Start der Applikation angegebenen Parametern einlesen und in den Zeichenketten der Parameter die Umlaute sowie ß durch deren Ersatzdarstellung ersetzen ( ß durch ss, ä ae etc.). Anschließend soll es die Zeichenketten der Parameter in alphabetisch (lexikografisch) sortierter Reihenfolge ausgeben. Hinweise: Zur Parameterübergabe: Siehe Folien 29ff. in Klassen und Objekte, Die statische Methode main und ihr Parameter. Zum Sortieren: Der Vergleich soll mit der Methode compareto() vorgenommen werden. Implementieren Sie die Aufgabe ausschließlich mit in der Vorlesung bereits behandeltem Java-Stoff bzw. Klassen (keine Collections- Klassen / Klasse Arrays verwenden). 17 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

18 Die Klasse StringBuffer Die Klasse String bietet keine Möglichkeit, die gespeicherte Zeichenkette nachträglich zu ändern. Ersetzt man z.b. Zeichen eines Strings, wird immer ein neues String-Objekt erzeugt. Die Klasse StringBuffer stellt einen Datentyp bereit, bei dem Zeichenketten verändert werden können. Die Speichergröße passt sich dabei dynamisch der zu speichernden Zeichenkette an. Eigenschaften der Klasse StringBuffer: Dient zur Verwaltung und Bearbeitung von veränderlichen Zeichenketten. Schnelligkeit: Faktor schneller als String aufgrund der Veränderbarkeit der Zeichenketten. Speicherplatz für das Objekt (Kapazität): mit Reserve, d.h. i.d.r. größer als für die aktuell gespeicherte Zeichenkette notwendig. 18 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

19 Konstruktoren der Klasse StringBuffer, inkl. Konvertierung von/in Strings StringBuffer(); Erzeugt ein StringBuffer-Objekt mit einer leeren Zeichenkette und einer Kapazität von 16 Zeichen. StringBuffer(int length); Erzeugt einen StringBuffer-Objekt mit einer Anfangskapazität von length Zeichen. StringBuffer(String str); Erzeugt ein StringBuffer-Objekt, das die Zeichenkette von str enthält (und somit das String- in ein StringBuffer-Objekt konvertiert). Kapazität: (Länge von str) // Konvertierung String-Objekt -> StringBuffer-Objekt StringBuffer sb = new StringBuffer("Text"); // Konvertierung StringBuffer-Objekt -> String-Objekt String s = new String(sb); // "Text" String s = sb.tostring(); // "Text" (äquivalent) 19 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

20 Methoden der Klasse StringBuffer (1) StringBuffer append(type value) value wird in eine Zeichenfolge gewandelt und an das bestehende StringBuffer-Objekt angehängt. StringBuffer s; s = new StringBuffer(); s.append("1 + 2 = "); s.append(1 + 2); System.out.println("s: " + s); // Ausgabe: s: = 3 StringBuffer insert(int index, type value) Fügt vor der Position index die String-Repräsentation des Parameters value ein. StringBuffer s = new StringBuffer(); s.append("1 + 2 = 3"); s.insert(0, "("); s.insert(6, ")"); // im Puffer: "(1 + 2) = 3" 20 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

21 Methoden der Klasse StringBuffer (2) int length() Liefert die Länge der gespeicherten Zeichenkette. int capacity() Liefert aktuelle Kapazität d. Puffers (Länge d. Zeichenkette + Reserve) char charat(int index) Liefert das Zeichen mit dem betreffenden Index. void setcharat(int index, char c) Ändert das Zeichen mit dem betreffenden Index. String tostring() Liefert die String-Repräsentation des StringBuffer-Objekts StringBuffer replace(int start, int end, String str) Ersetzt die Teilzeichenkette des StringBuffer-Objekts von start bis end-1 durch die Zeichen von str. StringBuffer reverse() Bewirkt Ersetzung d. Zeichenfolge durch umgekehrte Zeichenfolge 21 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

22 Die Klasse StringBuilder Im JDK 5 wurde die Klasse StringBuilder ergänzt. Diese Klasse entspricht in der Funktionsweise der Klasse StringBuffer. StringBuilder sind allerdings nicht synchronisiert. Das bedeutet, dass sie nicht für den gleichzeitigen Zugriff von mehreren Threads (gleichzeitig ausgeführte Programmmodule) geeignet sind. StringBuilder ist noch schneller als StringBuffer. Da gleichzeitig ablaufende Programmmodule nicht überwacht werden, ergeben sich in vielen Anwendungsfällen durch den Einsatz der Klasse StringBuilder nochmals Reduktionen der Ausführungszeit. 22 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

23 Wrapper-Klassen Java stellt für jeden primitiven Datentyp eine so genannte Wrapper-Klasse (Hüll-Klasse) zur Verfügung. Grund: Viele Methoden in Java erfordern als Parameter einen Object-Typ. Primitive Datentypen sind aber keine Objekte. Die Wrapper-Klassen haben ein gekapseltes Attribut, das den Wert speichert. Sie besitzen Methoden, um den entsprechenden primitiven Datentyp in den jeweiligen Wrapper-Datentyp (oder in die String- Darstellung) zu konvertieren und umgekehrt. Wrapper-Klassen im package java.lang: Void Byte Short Integer Long Float Double Boolean Character Heusch 7.4 Ratz W. Geiger, W. Süß, T. Schlachter, C. Schmitt

24 Wrapper-Klassen Beispiel Integer Am Beispiel der Wrapper-Klasse Integer werden im Folgenden einige Konstruktoren und Methoden der Klassen vorgestellt. Für die Wrapper-Klassen der anderen primitiven Datentypen existieren ähnliche Methoden. Informationen hierzu findet man in der Java-Dokumentation (java.oracle.com). Konstruktoren der Wrapper-Klasse Integer: Mit new kann ein Objekt der Wrapper-Klasse erzeugt werden. Dazu stehen zwei Konstruktoren zur Verfügung. Integer(int value) Integer(String s) Der Wert des Integer-Objektes kann im Konstruktor als int oder als String angegeben werden. Der Konstruktor versucht, den String s in einen int-wert zu konvertieren. Ist dies nicht möglich tritt ein Laufzeitfehler ein (NumberFormatException). 24 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

25 Methoden der Wrapper-Klasse Integer Methode int intvalue() String tostring() static int parseint(string s) static String tostring(int value) static Integer valueof(int value) static Integer valueof(string s) Beschreibung Diese Methode liefert den in der Instanz gespeicherten int-wert zurück. Liefert einen String zurück, der den gespeicherten Wert repräsentiert. Versucht den String s in einen int-wert zu konvertieren. Falls eine Konvertierung nicht möglich ist, wird eine NumberFormatException ausgelöst. Liefert einen String zurück, der den Wert von value repräsentiert. Erzeugt mit dem Wert von value ein Integer- Objekt und liefert dieses zurück. Versucht den String s in einen int-wert zu konvertieren, erzeugt mit diesem Wert ein Integer-Objekt und liefert dieses zurück. Falls eine Konvertierung nicht möglich ist, wird eine NumberFormatException ausgelöst. 25 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

26 Beispiele Integer i1 = new Integer(10); // neues Integer-Objekt mit Wert 10 Integer i2 = new Integer("12"); // neues Integer-Objekt mit Wert 12 Integer i3 = Integer.valueOf("24"); // neues Integer-Objekt mit Wert 24 int i = i1.intvalue(); // liefert gespeicherten int-wert v. i1 int j = Integer.parseInt("35"); // konvertiet String nach int String s1 = i2.tostring(); // wandelt Wert von i2 in einen String String s2 = Integer.toString(74); // wandelt int-zahl in einen String Wrapperklassen-Objekte sind immutable (unveränderbar). Die Wrapper-Klassen bieten keine Methoden zum Ändern des gespeicherten Wertes (keine Setter-Methoden). 26 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

27 Übersicht: Konvertierung zwischen verschiedenen Datentypen, am Beispiel von int / Integer / String int Integer.valueOf(int) Objektreferenz.intValue() Integer String Konstruktoren mit Typumwandlungen sind hier nicht aufgeführt. Bei Klassen-Methoden ist die Klasse angegeben. Bei Instanzmethoden wird über eine entspr. Objektreferenz aufgerufen. 27 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

28 Beispiel: Einlesen von Zahlen als String und Konvertierung mit Wrapperklassen-Methoden public class InputWrapper { public static void main(string[] args) { // Erst String einlesen und diesen dann konvertieren java.util.scanner scan = new java.util.scanner(system.in); String input; System.out.print("Please enter an integer number: "); input = scan.next(); // Einlesen als String int i = Integer.parseInt(input); // Konvertierung in int System.out.print("Please enter a floating point number: "); input = scan.next(); // Einlesen als String double d = Double.parseDouble(input); // Konvertierung in double } } System.out.println("int: " + i); System.out.println("double: " + d); Bei der Konvertierung gibt es hier keine Lokalisierung (im Gegensatz zur Konvertierung mit Scanner-Methoden) Eingabe mit Dezimalpunkt 28 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

29 Boxing / Unboxing / Autoboxing Die Konvertierung eines primitiven Datentyps in ein Objekt der entsprechenden Wrapper-Klasse wird Boxing genannt. Die Rückumwandlung in einen primitiven Datentyp heißt Unboxing. Ab Java 5 gibt es eine automatische Umwandlung (Autoboxing). Ab Java 1.5 Ausführliche Schreibweise Vereinfachte Schreibweise mit Autoboxing int i = 10; int i = 10; Boxing Integer j = Integer.valueOf(i); Integer j = i; Unboxing int k = j.intvalue(); int k = j; 29 W. Geiger, W. Süß, T. Schlachter, C. Schmitt

Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik

Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik Programmieren I Strings und Wrapperklassen Heusch 7.3 Ratz 6.5.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Die Klasse String Für Zeichenketten gibt es in Java die Klasse String

Mehr

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik

Programmieren I. Operatoren und Ausdrücke Heusch 6.2 Ratz Institut für Angewandte Informatik Programmieren I Operatoren und Ausdrücke Heusch 6.2 Ratz 4.4.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Ausdrücke, Arten von Operatoren Ein Ausdruck ist eine Folge von Operatoren

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Der finally-block catch or throw WS 07/08 1/ 23 2/ 23 Grundlagen von Exceptions

Mehr

Objektorientierte Programmierung. Kapitel 10: Strings

Objektorientierte Programmierung. Kapitel 10: Strings 10. Strings 1/16 Objektorientierte Programmierung Kapitel 10: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/ 10.

Mehr

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 18: Strings 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/ 18.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 18: Strings Stefan Brass: OOP (Java), 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

Verarbeitung von Zeichenketten

Verarbeitung von Zeichenketten Verarbeitung von Zeichenketten Character Die Character-Klassebietet statische Prüffunktionen isxxx(), die bestimmen, ob ein char einer gewissen Kategorie angehört. (Ist der char eine Ziffer, ein Leerzeichen,

Mehr

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

Zeichenketten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java. 16. Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16. Mai 2007 G. Bohlender (IANM UNI Karlsruhe) Zeichenketten 16. Mai 2007 1

Mehr

1 Hashing und die Klasse String

1 Hashing und die Klasse String 1 Hashing und die Klasse String Die Klasse String stellt Wörter von (Unicode-) Zeichen dar. Objekte dieser Klasse sind stets konstant, d.h. können nicht verändert werden (immutable). Die Zeichenkette ist

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 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

Mehr

Idee: 14.2 Generische Klassen

Idee: 14.2 Generische Klassen 14.2 Generische Klassen Idee: Seit Version 1.5 verfügt Java über generische Klassen... Anstatt das Attribut info als Object zu deklarieren, geben wir der Klasse einen Typ-Parameter T für info mit!!! Bei

Mehr

Der Datentyp String. Stringvariable und -vergleiche

Der Datentyp String. Stringvariable und -vergleiche Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen

Mehr

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

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9 Java Einführung Objekt-Datentypen und Strings Kapitel 8 und 9 Inhalt Was sind Objekt-Datentypen Sonderheiten bei Zuweisung und Vergleich Zeichenketten (Strings) Zeichencodes Char, Char-Arrays und Strings

Mehr

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10. Institut für Angewandte Informatik

Programmieren I. Fehlerbehandlung Exceptions. Heusch 2. Bd, 3 Ratz 10.  Institut für Angewandte Informatik Programmieren I Fehlerbehandlung Exceptions Heusch 2. Bd, 3 Ratz 10 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Exceptions und ihre Behandlung Exception - Ausnahmebedingung

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

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

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata: Informatik mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da aber

Mehr

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

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen Themen der Übung 1 Organisatorisches Methoden und Wrapperklassen 2 Methoden 3 Wrapper-Klassen CoMa-Übung IV TU Berlin 07.11.2012 Organisatorisches: Im Pool nur auf die Abgabeliste setzen, wenn ihr wirklich

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

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

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) ArrayList 0 1 2 Obj0 Obj1 size() - 1 15.12.2014 CuP - VO 2 Auer 1 ArrayList import java.util.arraylist; ArrayList buchliste; buchliste = new ArrayList();

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Strings Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient. Beispiel: String zeile = "Cusanus-Gymnasium Wittlich";

Mehr

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen 20. Wrapper-Klassen 1/27 Objektorientierte Programmierung Kapitel 20: Wrapper-Klassen Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

Programmieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik

Programmieren I. Methoden-Spezial Heusch --- Ratz 6.1, Institut für Angewandte Informatik Programmieren I Methoden-Spezial Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe bei primitivem Datentypen (Wertkopie) public class MethodParameters

Mehr

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen Stefan Brass: OOP (Java), 20. Wrapper-Klassen 1/27 Objektorientierte Programmierung Kapitel 20: Wrapper-Klassen Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

Einführung in Java, Teil 7

Einführung in Java, Teil 7 Einführung in Java, Teil 7 (a) Weitere grundlegende Konzepte, und (b) Applikationen Vorlesung Informatik I, 8 & 13.12.2005, Daniel Huson Grundtypen und ihre Wrapper - Klassen Die Grunddatentypen in Java

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Hüllklassen. Gerd Bohlender. 25. Juni Institut für Angewandte und Numerische Mathematik. Vorlesung: 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 Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 25. Juni 2007 G. Bohlender (IANM UNI Karlsruhe) Hüllklassen 25. Juni 2007 1 / 5 Grunddatentypen

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

ADT: Java Collections und ArrayList

ADT: Java Collections und ArrayList ADT: Java Collections und ArrayList Überblick der Klassen Object File Collections Map List Set ArrayList LinkedList SortedSet HashSet SortedSet Methode ArrayList Klasse I Beschreibung void add(int position,

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 03: Schleifen Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 12 Inhalt Codequalität

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Aufgabenblatt 4 Prof. R. Westermann, A. Lehmann,

Mehr

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public

Mehr

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

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich. Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Datentypen & Zeichenketten

Datentypen & Zeichenketten Datentypen & Zeichenketten Datentypen I 04 Datentypen & Zeichenketten - 2 Ganze Zahl zwischen -4*10 18 bis 4*10 18 Ganze Zahl zwischen 2*10 9 und 2*10 9 Dez.zahl zwischen 10 30 und -10 30 Dez.zahl zwischen

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

Mehr

Java Datentypen und Variablen

Java Datentypen und Variablen Informatik 1 für Nebenfachstudierende Grundmodul Java Datentypen und Variablen Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads 11 GUI-Programmierung

Mehr

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

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung

Mehr

String vs. StringBuffer. Class String

String vs. StringBuffer. Class String String vs. StringBuffer Der Inhalt eines String-Objektes kann nicht verändert werden, während ein StringBuffer-Objekt eine unbegrenzte Anzahl veränderbarer Zeichen aufnehmen und effizient eine Zeichenkette

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

Mehr

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

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?) 5.1 Mehr Basistypen Außer int, stellt Java weitere Basistypen zur Verfügung. Zu jedem Basistyp gibt es eine Menge möglicher Werte. Jeder Wert eines Basistyps benötigt die gleiche Menge Platz, um ihn im

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 4 Innere Klassen 5 Exceptions 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10 Applets

Mehr

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank... Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: hat Farbe Hubraum Tank kann man Gas geben Bremsen Hoch

Mehr

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

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Institut für Informatik und Angewandte Kognitionswissenschaften

Institut für Informatik und Angewandte Kognitionswissenschaften Grundlegende Programmiertechniken (»Programmierung«), WS 2007/2008 Übungsblatt 5 Präsenzaufgaben: 11, 12, 13 Hausaufgabe: 14 Aufgabe 11 STRING- UND OBJEKT-VERGLEICH String s1 = new String("Test String");

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Lösungsblatt 4 Prof. R. Westermann, A. Lehmann, R.

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 4 ArrayList, PriorityQueue, HashSet und HashMap

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 4 ArrayList, PriorityQueue, HashSet und HashMap Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 4 ArrayList, PriorityQueue, HashSet und HashMap Array List Dynamisches Array ArrayList vertritt ein Array mit variabler Länge Kapazität passt sich automatisch

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces

14 Abstrakte Klassen, finale Klassen, Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 30 Einstieg in die Informatik mit Java Datentypen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 30 1 Überblick 2 Ganzzahlige Typen 3 Gleitkommatypen 4 Zeichen, char

Mehr

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen Auswertung von Ausdrücken Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt.

Mehr

Programmieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik

Programmieren I. Methoden-Special Heusch --- Ratz 6.1, Institut für Angewandte Informatik Programmieren I Methoden-Special Heusch --- Ratz 6.1, 6.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Parameterübergabe: Wertkopie -By- public class MethodParameters { public

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Literalkonstanten Übersicht 1 Ganzzahlige Konstanten 2 Gleitkommakonstanten 3 Zeichenkonstanten 4 Zeichenketten 5 Boolsche Konstanten 6 null Referenz Literalkonstanten Literalkonstanten

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Abschnitt 6: Klassen, Objekte und Methoden in Java

Abschnitt 6: Klassen, Objekte und Methoden in Java Abschnitt 6: Klassen, Objekte und Methoden in Java 6. Klassen, Objekte und Methoden in Java 6.1 Klassen 6.2 Objekte 6.3 Methoden 6.4 Zusammenfassung 6 Klassen, Objekte und Methoden in Java Informatik 2

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

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

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2 Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 03. JAVA: Grundlagen 1 Primitive Datentypen

Mehr

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter

Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter Dr. Wolfgang Süß Thorsten Schlachter Java-Bezeichner Für Variablen, Methoden, Klassen und Schnittstellen werden Bezeichner auch Identifizierer (von engl. identifier) genannt vergeben. Ein Bezeichner ist

Mehr

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes Zeichen Datentyp char char ch = 'x'; Zeichenvariable Zeichenkonstante (unter einfachen Hochkommas) Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes ASCII (American Standard

Mehr

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

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

boolean, char, byte, short, int, long long, float, double

boolean, char, byte, short, int, long long, float, double 10 Objekte in Java Sie kennen nun die sogenannten imperativen Bestandteile von Java: Variablen, Verzweigungen und Schleifen. Unser nächstes Ziel ist, Ihnen die objektorientierten Bestandteile zu vermitteln.

Mehr

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze

Informatik B. Vorlesung 14 Serialisierung, Autoboxing. Dr. Ralf Kunze Vorlesung 14 Serialisierung, Autoboxing 1 Serialisierung von Objekten Die Objekte innerhalb eines Java-Programmes sollen manchmal auch nach Beendigung der JVM verfügbar bleiben Objekte müssen ab und an

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

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

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Klassen und Objekte Einführung in Java Folie 1 von 28 12. Mai 2011 Ivo Kronenberg Inhalt Objekte Klassendefinitionen Datenelemente (Klassenattribute) Instanzieren von Objekten Konstruktoren Vergleich primitive

Mehr

Wie entwerfe ich ein Programm?

Wie entwerfe ich ein Programm? Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

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

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

Programmieren II. Aufzählungstypen (enum) Heusch -- Ratz Institut für Angewandte Informatik

Programmieren II. Aufzählungstypen (enum) Heusch -- Ratz Institut für Angewandte Informatik Programmieren II Aufzählungstypen (enum) Heusch -- Ratz 11.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Aufzählungstypen (1) Unter einem Aufzählungstyp versteht man einen selbstdefinierten

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

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

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Programmierpraktikum

Programmierpraktikum TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr