Exceptions. CoMa-Übung VI TU Berlin. CoMa-Übung VI (TU Berlin) Exceptions / 19

Größe: px
Ab Seite anzeigen:

Download "Exceptions. CoMa-Übung VI TU Berlin. CoMa-Übung VI (TU Berlin) Exceptions / 19"

Transkript

1 Exceptions CoMa-Übung VI TU Berlin CoMa-Übung VI (TU Berlin) Exceptions / 19

2 Themen der Übung 1 Organisatorisches Compilezeit- und Laufzeitfehler 3 Exceptions 4 Try-Catch-Finally Bewertung der OA 5 fehlerhaft, Madeleine arbeitet dran CoMa-Übung VI (TU Berlin) Exceptions / 19

3 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. CoMa-Übung VI (TU Berlin) Exceptions / 19

4 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. int i = 1.0: CoMa-Übung VI (TU Berlin) Exceptions / 19

5 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. int i = 1.0: int() array == null; CoMa-Übung VI (TU Berlin) Exceptions / 19

6 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. int i = 1.0: int() array == null; Laufzeitfehler Laufzeitfehler sind Fehler, die Java (java) beim Ausführen eines Java-Programms findet. CoMa-Übung VI (TU Berlin) Exceptions / 19

7 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. int i = 1.0: int() array == null; Laufzeitfehler Laufzeitfehler sind Fehler, die Java (java) beim Ausführen eines Java-Programms findet. int i = 1/0; CoMa-Übung VI (TU Berlin) Exceptions / 19

8 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. int i = 1.0: int() array == null; Laufzeitfehler Laufzeitfehler sind Fehler, die Java (java) beim Ausführen eines Java-Programms findet. int i = 1/0; Andere Fehler Es gibt Fehler, die weder der Java-Kompiler noch Java beim Ausführen findet. Solche Fehler sind weder Compilezeitzeit noch Laufzeitfehler. CoMa-Übung VI (TU Berlin) Exceptions / 19

9 Compilezeit- und Laufzeitfehler Compilezeitfehler Compilezeitfehler sind Fehler, die der Java-Kompiler (javac) beim Kompilieren eines Java-Programms findet. int i = 1.0: int() array == null; Laufzeitfehler Laufzeitfehler sind Fehler, die Java (java) beim Ausführen eines Java-Programms findet. int i = 1/0; Andere Fehler Es gibt Fehler, die weder der Java-Kompiler noch Java beim Ausführen findet. Solche Fehler sind weder Compilezeitzeit noch Laufzeitfehler. Endlosschleifen CoMa-Übung VI (TU Berlin) Exceptions / 19

10 Compilezeit- und Laufzeitfehler Beispiele (1) 1 p u b l i c c l a s s F r a c t i o n { 3 p r i v a t e long num ; 4 p r i v a t e long denom ; 5 6 p u b l i c F r a c t i o n m u l t i p l y ( r ) { 7 t h i s. num = t h i s. num r. num 8 t h i s. denom = t h i s. denom r. denom 9 } 10 } CoMa-Übung VI (TU Berlin) Exceptions / 19

11 Compilezeit- und Laufzeitfehler Beispiele (1) 1 p u b l i c c l a s s F r a c t i o n { 3 p r i v a t e long num ; 4 p r i v a t e long denom ; 5 6 p u b l i c F r a c t i o n m u l t i p l y ( r ) { 7 t h i s. num = t h i s. num r. num 8 t h i s. denom = t h i s. denom r. denom 9 } 10 } Fehler Fehlende Kommas in Zeilen 7 & 8 Compilefehler Fehlendes return / falscher Rückgabetyp Compilefehler CoMa-Übung VI (TU Berlin) Exceptions / 19

12 Compilezeit- und Laufzeitfehler Beispiele () 1 p u b l i c c l a s s F r a c t i o n { 3 p r i v a t e long num ; 4 p r i v a t e long denom ; 5 6 p u b l i c Void sum ( F r a c t i o n r ) { 7 num += r. num ; 8 denom += r. denom ; 9 } 10 } CoMa-Übung VI (TU Berlin) Exceptions / 19

13 Compilezeit- und Laufzeitfehler Beispiele () 1 p u b l i c c l a s s F r a c t i o n { 3 p r i v a t e long num ; 4 p r i v a t e long denom ; 5 6 p u b l i c Void sum ( F r a c t i o n r ) { 7 num += r. num ; 8 denom += r. denom ; 9 } 10 } Fehler Void ist kein Rückgabetyp Compilefehler Falsche Implementierung Weder noch CoMa-Übung VI (TU Berlin) Exceptions / 19

14 Compilezeit- und Laufzeitfehler Beispiele (3) 1 p u b l i c c l a s s HelloWorld { 3 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 4 double d = 0. 0 ; 5 System. out. p r i n t l n ( ( S t r i n g ) 1. 0 ) ; 6 System. out. p r i n t l n ( ( S t r i n g ) d ) ; 7 System. out. p r i n t l n ( ( i n t ) Double. NaN) ; 8 System. out. p r i n t l n ( ( long ) ( double ) ( long ) Double. POSITIVE INFINITY ) ; 9 } 10 } CoMa-Übung VI (TU Berlin) Exceptions / 19

15 Compilezeit- und Laufzeitfehler Beispiele (3) 1 p u b l i c c l a s s HelloWorld { 3 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 4 double d = 0. 0 ; 5 System. out. p r i n t l n ( ( S t r i n g ) 1. 0 ) ; 6 System. out. p r i n t l n ( ( S t r i n g ) d ) ; 7 System. out. p r i n t l n ( ( i n t ) Double. NaN) ; 8 System. out. p r i n t l n ( ( long ) ( double ) ( long ) Double. POSITIVE INFINITY ) ; 9 } 10 } Fehler Zeilen 5 & 6 sind nicht konvertibel Compilefehler Zeilen 7 & 8 funktionieren Ergeben 0 und 63 1 CoMa-Übung VI (TU Berlin) Exceptions / 19

16 Compilezeit- und Laufzeitfehler Beispiele (4) 1 p u b l i c c l a s s HelloWorld { 3 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 4 i n t [ ] l e n g t h s = new i n t [ a r g s. l e n g t h ] ; 5 i n t t o t a l ; 6 f o r ( i n t i =0; i <l e n g t h s. l e n g t h ; i ++) { 7 l e n g t h s [ i ] = a r g s. l e n g t h ; 8 t o t a l += l e n g t h s [ i ] ; 9 } 10 System. out. p r i n t l n ( D u r c h s c h n i t t : + t o t a l / a r g s. l e n g t h ) ; 11 } 1 } CoMa-Übung VI (TU Berlin) Exceptions / 19

17 Compilezeit- und Laufzeitfehler Beispiele (4) 1 p u b l i c c l a s s HelloWorld { 3 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 4 i n t [ ] l e n g t h s = new i n t [ a r g s. l e n g t h ] ; 5 i n t t o t a l ; 6 f o r ( i n t i =0; i <l e n g t h s. l e n g t h ; i ++) { 7 l e n g t h s [ i ] = a r g s. l e n g t h ; 8 t o t a l += l e n g t h s [ i ] ; 9 } 10 System. out. p r i n t l n ( D u r c h s c h n i t t : + t o t a l / a r g s. l e n g t h ) ; 11 } 1 } Fehler Variable total nicht initialisiert Compilefehler Potentielle ArithmeticException in Zeile 10 Laufzeitfehler CoMa-Übung VI (TU Berlin) Exceptions / 19

18 Compilezeit- und Laufzeitfehler Beispiele (5) 1 p u b l i c c l a s s HelloWorld { 3 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 4 i n t [ ] l e n g t h s = new i n t [ a r g s. l e n g t h ] ; 5 double t o t a l = 0. 0 ; 6 f o r ( i n t i =0; i <=l e n g t h s. l e n g t h ; i ++) { 7 t o t a l += a r g s. l e n g t h ( ) ; 8 } 9 System. out. p r i n t l n ( D u r c h s c h n i t t : + t o t a l / a r g s. l e n g t h ) ; 10 } 11 } CoMa-Übung VI (TU Berlin) Exceptions / 19

19 Compilezeit- und Laufzeitfehler Beispiele (5) 1 p u b l i c c l a s s HelloWorld { 3 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 4 i n t [ ] l e n g t h s = new i n t [ a r g s. l e n g t h ] ; 5 double t o t a l = 0. 0 ; 6 f o r ( i n t i =0; i <=l e n g t h s. l e n g t h ; i ++) { 7 t o t a l += a r g s. l e n g t h ( ) ; 8 } 9 System. out. p r i n t l n ( D u r c h s c h n i t t : + t o t a l / a r g s. l e n g t h ) ; 10 } 11 } Fehler Array hat keine length() Methode Compilefehler ArrayIndexOutOfBoundsException in der Schleife Laufzeitfehler CoMa-Übung VI (TU Berlin) Exceptions / 19

20 Compilezeit- und Laufzeitfehler Beispiele (6) 1 p u b l i c c l a s s HelloWorld { 3 i n t [ ] numbers ; 4 5 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 6 i n t [ ] numbers = new i n t [ a r g s. l e n g t h ] ; 7 f o r ( i n t i =0; i <numbers. l e n g t h ; i ++) { 8 numbers = I n t e g e r. p a r s e I n t ( a r g s ) ; 9 numbers = numbers numbers ; 10 } 11 } 1 } CoMa-Übung VI (TU Berlin) Exceptions / 19

21 Compilezeit- und Laufzeitfehler Beispiele (6) 1 p u b l i c c l a s s HelloWorld { 3 i n t [ ] numbers ; 4 5 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 6 i n t [ ] numbers = new i n t [ a r g s. l e n g t h ] ; 7 f o r ( i n t i =0; i <numbers. l e n g t h ; i ++) { 8 numbers = I n t e g e r. p a r s e I n t ( a r g s ) ; 9 numbers = numbers numbers ; 10 } 11 } 1 } Fehler Integer.parseInt funktioniert nicht mit Arrays Compilefehler numbers nicht statisch Compilefehler * funktioniert nicht mit Arrays Compilefehler CoMa-Übung VI (TU Berlin) Exceptions / 19

22 Compilezeit- und Laufzeitfehler Beispiele (7) 1 p u b l i c c l a s s HelloWorld { 3 s t a t i c i n t [ ] numbers ; 4 5 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 6 i n t [ ] numbers = new i n t [ a r g s. l e n g t h ] ; 7 f o r ( i n t i =0; i <numbers. l e n g t h ; i ++) { 8 numbers [ i ] = I n t e g e r. p a r s e I n t ( a r g s [ i ] ) ; 9 numbers [ i ] = numbers [ i ] numbers [ i ] ; 10 } 11 } 1 } CoMa-Übung VI (TU Berlin) Exceptions / 19

23 Compilezeit- und Laufzeitfehler Beispiele (7) 1 p u b l i c c l a s s HelloWorld { 3 s t a t i c i n t [ ] numbers ; 4 5 p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { 6 i n t [ ] numbers = new i n t [ a r g s. l e n g t h ] ; 7 f o r ( i n t i =0; i <numbers. l e n g t h ; i ++) { 8 numbers [ i ] = I n t e g e r. p a r s e I n t ( a r g s [ i ] ) ; 9 numbers [ i ] = numbers [ i ] numbers [ i ] ; 10 } 11 } 1 } Fehler NumberFormatException in Zeile 8 möglich Laufzeitfehler NullPointerException in Zeile 9 möglich Laufzeitfehler CoMa-Übung VI (TU Berlin) Exceptions / 19

24 Exceptions Exceptions Exceptions sind Javas Konzept, um mit Fehlern und außergewöhnlichen Situationen umzugehen. 1 t r y { // Code, d e r e i n e E x c e p t i o n a u s l o e s e n kann 3 } catch (... ) { 4 // Code zum Behandeln d e r E x c e p t i o n 5 } 6 // Es geht normal w e i t e r, d i e E x c e p t i o n wurde b e h a n d e l t CoMa-Übung VI (TU Berlin) Exceptions / 19

25 Exceptions Exceptions Exceptions sind Javas Konzept, um mit Fehlern und außergewöhnlichen Situationen umzugehen. 1 t r y { // Code, d e r e i n e E x c e p t i o n a u s l o e s e n kann 3 } catch (... ) { 4 // Code zum Behandeln d e r E x c e p t i o n 5 } 6 // Es geht normal w e i t e r, d i e E x c e p t i o n wurde b e h a n d e l t try-catch-finally Exceptions werden in try-catch-finally behandelt Erlaubt das Behandeln von Ausnahmen (catch) Erlaubt garantierte Aufräumarbeiten (finally) CoMa-Übung VI (TU Berlin) Exceptions / 19

26 Exceptions () 1 S t r i n g s t r i n g T o C o n v e r t = 4% ; t r y { 3 I n t e g e r. p a r s e I n t ( s t r i n g T o C o n v e r t ) ; 4 } catch ( NumberFormatException e ) { 5 System. out. p r i n t l n ( s t r i n g T o C o n v e r t + kann n i c h t i n e i n e Zahl k o n v e r t i e r t werden! ) ; 6 } Exceptions und Javadocs Werden in einer Methode Exceptions ausgelöst, sollten sie im Javadoc dokumentiert sein. Das ist für die offiziellen Java-Klassen auch der Fall, wie etwa für Integer.parseInt. Exceptions und Laufzeitfehler Hinweis: Tritt eine Exception auf, liegt ein Laufzeitfehler vor. CoMa-Übung VI (TU Berlin) Exceptions / 19

27 Exceptions (3) 1 S t r i n g s t r i n g T o C o n v e r t = 4% ; t r y { 3 I n t e g e r. p a r s e I n t ( s t r i n g T o C o n v e r t ) ; 4 } catch ( NumberFormatException e ) { 5 System. out. p r i n t l n ( s t r i n g T o C o n v e r t + kann n i c h t i n e i n e Zahl k o n v e r t i e r t werden! ) ; 6 } Exceptions Ablauf Tritt eine Exception auf, wird ein Exception-Objekt erzeugt, die Ausführung des Codes unterbrochen, die erste passende Catch-Klausel gesucht, und dort mit der Code-Ausführung fortgefahren. Nach Beenden der Catch-Klausel werden alle anderen Catch-Klauseln übersprungen. Tritt keine Exception auf, werden Catch-Klauseln nicht ausgeführt. CoMa-Übung VI (TU Berlin) Exceptions / 19

28 Exceptions (4) 1 S t r i n g s t r i n g T o C o n v e r t = 4% ; t r y { 3 I n t e g e r. p a r s e I n t ( s t r i n g T o C o n v e r t ) ; 4 } catch ( NumberFormatException e ) { 5 System. out. p r i n t l n ( s t r i n g T o C o n v e r t + kann n i c h t i n e i n e Zahl k o n v e r t i e r t werden! ) ; 6 } Exceptions Eigenschaften Ein Exception-Objekt e hat, eine Klasse mit einem Namen e.getclass().getname(), eine Nachricht e.getmessage(), eine Möglichkeit, den Stack-Trace auf der Konsole auszugeben (e.printstacktrace();). Wird eine Exception nicht gefangen, gibt Java alles drei auf der Konsole aus. CoMa-Übung VI (TU Berlin) Exceptions / 19

29 Exceptions (5) 1 t r y { 3 } catch (... ) { 4 5 } catch (... ) { 6 7 } Exceptions Code-Wiederholungen Ist eine Exception aufgetreten und in einem Catch-Block behandelt worden, gibt es keine Möglichkeit, automatisch an die Stelle zurückzuspringen, wo die Exception aufgetreten ist. Exceptions Mehrere Catch-Blöcke Zu einem try können mehrere Catch-Blöcke gehören, wenn unterschiedliche Exceptions behandelt werden müssen. CoMa-Übung VI (TU Berlin) Exceptions / 19

30 Exceptions (6) Exceptions throws Kann eine Methode eine Exception werfen, so wird das üblicherweise per throws in der Methodendeklaration angegeben. 1 i n t d i v i d e ( i n t a, i n t b ) throws A r i t h m e t i c E x c e p t i o n { r e t u r n a / b ; 3 } try-catch-finally Müssen bestimmte Aufräumarbeiten in jedem Fall durchgeführt werden, kann ein Try-Catch-Block mittels eines Finally-Blocks ergänzt werden. finally ist optional. Maximal 1x finally pro try. finally-code wird immer ausgeführt, egal, ob der try-block durch return, eine Exception oder normal beendet wurde. CoMa-Übung VI (TU Berlin) Exceptions / 19

31 Exceptions (7) 1 t r y { 3 } catch (... ) { 4 5 } f i n a l l y { 6 7 } Hinweis try-finally kann auch ohne catch benutzt werden. Wird oft im Umgang mit Dateien verwendet. 1 t r y { 3 } f i n a l l y { 4 5 } CoMa-Übung VI (TU Berlin) Exceptions / 19

32 Exceptions (7) 1 t r y { r e t u r n 1 ; 3 } f i n a l l y { 4 r e t u r n 0 ; 5 } Warnung try-finally behandelt keine Exceptions, die würden an den Aufrufer weitergereicht. Behandelt niemand die Exception, wird das Programm beendet. In catch & finally Blöcken können neue Exceptions geworfen werden dann sind eventuell verschachtelte try-blöcke erforderlich. Ein return im finally-block überschreibt ein return im try-block. CoMa-Übung VI (TU Berlin) Exceptions / 19

33 Exceptions (8) Eigene Exceptions Eigene Exceptions werden mittels throw ausgelöst. Es ist sinnvoll, direkt am Anfang einer Methode die Eingaben zu testen. je schneller Fehler gefunden werden, desto besser (fail-fast). 1 double s q r t ( double d ) { i f ( d < 0 ) { 3 throw new I l l e g a l A r g u m e n t E x c e p t i o n ( Keine n e g a t i v e n Zahlen e r l a u b t! ) ; 4 } 5 r e t u r n Math. s q r t ( d ) ; 6 } CoMa-Übung VI (TU Berlin) Exceptions / 19

1 Fehler-Objekte: Werfen, Fangen, Behandeln

1 Fehler-Objekte: Werfen, Fangen, Behandeln 1 Fehler-Objekte: Werfen, Fangen, Behandeln Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehler-Objekt erzeugt (geworfen). Die Klasse Throwable

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf 16 Exceptions Zur Behandlung unerwarteter Situationen bietet Java Unterstützung in Form von Exceptions oder Ausnahmen. Den Sinn von Exceptions können wir Ihnen an einem kleinen Beispiel klarmachen. Nehmen

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero

Exceptions. Prof. Dr. Margarita Esponda SS 2012. M. Esponda-Argüero Exceptions Prof. Dr. Margarita Esponda SS 2012 1 Ausnahmen Eine Ausnahme (Exception) ist ein Fehler oder ein nicht geplantes Ereignis, das während der Ausführung eines Programms vorkommt und dessen normalen

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 14/15. Kapitel 11. Fehler und Ausnahmen 1 Kapitel 11 Fehler und Ausnahmen Fehler und Ausnahmen 1 Ziele Fehlerquellen in Programmen und bei der Programmausführung verstehen Das Java-Konzept der Ausnahmen als Objekte kennenlernen Ausnahmen auslösen

Mehr

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 13: Ausnahmen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Ausnahmen (Exceptions) Motivation Fehlerbehandlung Klassenhierarchie Checked vs. Unchecked

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren I + II Regeln der Code-Formatierung Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - ! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1

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

5.13 Umgang mit Fehlern

5.13 Umgang mit Fehlern 5.13 Umgang mit Fehlern Klassifikation von Fehlern: Syntaxfehler: Lexikalische Fehler: Falsche oder unbekannte Worte String s neu String("Max"); Falsche Anordnung von Anweisungen: Falscher Typ: import

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

9. Fehlerbehandlung Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

9. Fehlerbehandlung Advanced Programming Techniques. Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 9. Fehlerbehandlung Advanced Programming Techniques Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 12. Fehler und Ausnahmen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 12. Fehler und Ausnahmen 1 Kapitel 12 Ziele 2 Fehlerquellen in Programmen und bei der Programmausführung kennenlernen Das Java-Konzept der Ausnahmen als Objekte verstehen Ausnahmen auslösen können Ausnahmen behandeln können Fehlerhafte

Mehr

Exception. 6. Exceptions. Die Klasse java.lang.exception. Fehlermeldung. Klassenname. Ort des Auftretens

Exception. 6. Exceptions. Die Klasse java.lang.exception. Fehlermeldung. Klassenname. Ort des Auftretens 6. Exceptions Exception Hintergrund: Programmieren auf der Basis von Verträgen Kundenklasse Lieferantenklasse Eine Exception ist ein Objekt, das Informationen über einen Programmfehler enthält. Eine Exception

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()

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 Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Einführung in Javadoc

Einführung in Javadoc Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:

Mehr

1. Sei der String s = new String( xyzzy ) gegeben. Welcher Aufruf verändert s?

1. Sei der String s = new String( xyzzy ) gegeben. Welcher Aufruf verändert s? Prof. Dr. Detlef Krömker Ashraf Abu Baker Robert-Mayer-Str. 10 60054 Frankfurt am Main Tel.: +49 (0)69798-24600 Fax: +49 (0)69798-24603 EMail: baker@gdv.cs.uni-frankfurt.de 1. Sei der String s = new String(

Mehr

Allgemeine Informatik II SS :30-13:30 Uhr

Allgemeine Informatik II SS :30-13:30 Uhr TU Darmstadt FB Informatik Prof. J. Fürnkranz Vordiplomsklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 15.09.2005 11:30-13:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer

Mehr

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007

Systemprogrammierung. Projekt: Java RMI. Wintersemester 2006 / 2007 Systemprogrammierung Projekt: Java RMI Wintersemester 2006 / 2007 Systemprogrammierung 1. Einleitung 2. Einführung in RPC 3. RMI 4. Code Beispiele 5. Live Vorstellung 6. Ausblick 7. Fazit 2 1. Einleitung

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

3. Exceptions. Hintergrund: Programmieren auf der Basis von Verträgen. Kundenklasse. Lieferantenklasse

3. Exceptions. Hintergrund: Programmieren auf der Basis von Verträgen. Kundenklasse. Lieferantenklasse 3. Exceptions Prinzipien von Exceptions 3. Exceptions Hintergrund: Programmieren auf der Basis von Verträgen Kundenklasse Lieferantenklasse Methodenaufruf Verpflichtung zur Einhaltung der Vorbedingung

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel. Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Teil II. Objektorientierte Programmierung und objektorientierter Entwurf

Teil II. Objektorientierte Programmierung und objektorientierter Entwurf Teil II Objektorientierte Programmierung und objektorientierter Entwurf 39 Kapitel 8 Robuste Programme durch Ausnahmebehandlung Ziele: Lernen, robuste Programme zu schreiben Ausnahmen als Objekte verstehen

Mehr

Erster Bug: eine Motte

Erster Bug: eine Motte SOFTWAREFEHLER Der erste Bug Erster Bug: eine Motte Der Begriff Bug (deutsch: Motte) stammt aus dem Jahre 1945, als Ingenieure in einem Schaltrelais eines Computers (Harvard Mark II-System) eine Motte

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Fehlerbehandlung und Ein- und Ausgabe Titel der Präsentation 2 Fehler = Exceptions? Die Exception- bzw. Ausnahmebehandlung in Java ist eine spezielle Form der Fehlerbehandlung Typischerweise

Mehr

Fehler die bei der Programmerstellung passieren können teilweise vom Compiler erkannt werden

Fehler die bei der Programmerstellung passieren können teilweise vom Compiler erkannt werden Exceptions Fehler die bei der Programmerstellung passieren können teilweise vom Compiler erkannt werden int a; double b=10; a = 10 * b; System.out.println(a); Fehler die während der Programmausführung

Mehr

7. Übung zu Algorithmen und Datenstrukturen

7. Übung zu Algorithmen und Datenstrukturen 7. Übung zu Algorithmen und Datenstrukturen Dynamisches Programmieren Greedy Algorithms Exceptions 1 Dynamische Programmierung nutzt gezielt aus, dass man bei manchen Problemen den Rechenaufwand extrem

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Grundlagen der Informatik für Ingenieure I

Grundlagen der Informatik für Ingenieure I 12. Exceptions.1 12 Exceptions 12 Exceptions Java unterscheidet drei Arten von Ereignissen: Events: Interaktionsereignisse mit dem GUI (siehe Kapitel 10) Errors: Interne schwerwiegende Fehler in der JVM

Mehr

Objektorientierte Programmierung. Kapitel 18: Exceptions II

Objektorientierte Programmierung. Kapitel 18: Exceptions II Stefan Brass: OOP (Java), 18. Exceptions II 1/50 Objektorientierte Programmierung Kapitel 18: Exceptions II Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/

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

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife 303 Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife durchgeführt wird. 304 305 for-schleifen sind in Aktivitätsdiagrammen

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Tutoraufgabe 1 (Programmanalyse):

Tutoraufgabe 1 (Programmanalyse): Prof. aa Dr. M. Müller Programmierung WS15/16 C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung

Mehr

Einführung in die Informatik Tools

Einführung in die Informatik Tools Einführung in die Informatik Tools Werkzeuge zur Erstellung von Softwareprojekten Wolfram Burgard 8.1 Motivation Große Softwareprojekte werden schnell unübersichtlich. Änderungen im Code können leicht

Mehr

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi Grundlagen der Programmierung 1 WS 2012/2013 Prof. Dr. Stefan Böttcher Aufgabenblatt 1: - Präsenzübung für die Übungen Do. 11.10.- Mi. 17.10.2012 Ausgabe Mi. 10.10.2012 1.1. Zahlen vertauschen mit wenigen

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

Schleifen in C/C++/Java

Schleifen in C/C++/Java Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.

Mehr

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

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

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Objektorientierte Programmierung. Kapitel 18: Exceptions II

Objektorientierte Programmierung. Kapitel 18: Exceptions II 18. Exceptions II 1/51 Objektorientierte Programmierung Kapitel 18: Exceptions II Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung

Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Java Kurs für Anfänger LMU SS09 Einheit 1 Javaumgebung Ludwig-Maximilians-Universität München Institut für Informatik Programmierung und Softwaretechnik (PST) Prof. Wirsing 6. Mai 2009 1 Der Name Java

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

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

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Exception Handling, Tracing und Logging C#.NET

Exception Handling, Tracing und Logging C#.NET Exception Handling, Tracing und Logging C#.NET Daniel Malovetz Inhaltsverzeichnis 1 Ausnahmen in.net: Exceptions 2 1.1 Definition von Ausnahmen......................... 2 1.2 Ausnahmebehandlung............................

Mehr

2. Semester, 2. Prüfung, Lösung

2. Semester, 2. Prüfung, Lösung 2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl

PROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen

Mehr

Variablen manipulieren per JDI

Variablen manipulieren per JDI Variablen manipulieren per JDI Zusammenfassung Jede moderne Java IDE verfügt über eine mächtige und dennoch meist einfach zu bedienende Benutzeroberfläche die das finden von Fehlern in lokalen oder entfernt

Mehr

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

Java Cheatsheet. Mehrzeiliger Kommentar (beginnt mit /* und endet mit */) Good code is its own best documentation. (Steve McConnell) Java Cheatsheet Java Grundlagen Aufbau einer Klasse Name der Klasse public class MeineKlasse { Textdatei MeineKlasse.java (muss dem Namen der

Mehr

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging

i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des

Mehr

Tag 3: Daten laden und speichern

Tag 3: Daten laden und speichern Kapitel 4 Tag 3: Daten laden und speichern In vielen Fällen ist es erforderlich, in Dateien vorliegende Daten für die Ausführung eines Programms zu verwenden. Es könnte z.b. eine Datei vorliegen in der

Mehr

14. Tutorium zu Programmieren

14. Tutorium zu Programmieren 14. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2009 by IPD Snelting

Mehr

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

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept

Swp08-6 Verantwortliche: Yundensuren, Baigalmaa. Testkonzept Testkonzept 1.Einführung Um die Zuverläsigkeit und die Qualität der Software und des gesamten Systems zu verbessern, sind Tests durchzuführen. Die Testreihe läst sich in drei Stufen einteilen, nülich Komponententest,

Mehr

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28 Java CoMa-Übung II TU Berlin 24.10.2012 CoMa-Übung II (TU Berlin) Java 24.10.2012 1 / 28 Themen der Übung 1 Java-Installation 2 Hello World 3 Temperature CoMa-Übung II (TU Berlin) Java 24.10.2012 2 / 28

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Java - Programmierung - Objektorientierte Programmierung 1

Java - Programmierung - Objektorientierte Programmierung 1 Java - Programmierung - Objektorientierte Programmierung 1 // Klassen und Objekte public class KlaObj public static void main(string args []) Klasse1 a; a = new Klasse1("heute", 47); Klasse1 b = new Klasse1

Mehr

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10 Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Übungsblatt Nr. 10 Aufgabe 20: Code Verständnis Löse diese Aufgabe selbständig als Vorbereitung zur Übung auf dem Papier. a) Gib

Mehr

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

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Programmiermethodik. Übung 13

Programmiermethodik. Übung 13 Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java

Mehr

Java I Vorlesung Exceptions

Java I Vorlesung Exceptions Java I Vorlesung 8 Exceptions 14.6.2004 Exceptions (Ausnahmen) Klassen für Ein- und Ausgabe Ausnahmen Ausnahmen (Exceptions) sind ein Mechanismus zum kontrollierten Melden und Reagieren auf Fehler. Man

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

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

1. Zeilenendkommentare: //... 2. geklammerte Kommentare: /*... */ 3. Dokumentationskommentare: /**... */

1. Zeilenendkommentare: //... 2. geklammerte Kommentare: /*... */ 3. Dokumentationskommentare: /**... */ 1 Kommentare im Source-Code Kommentare werden im Source-Code überlesen und wirken wie "white Space" (Leerzeichen, Tabulator, Zeilenvorschub). Mit Ausnahme des @deprecated-tag in Dokumentationskommentaren

Mehr

Ogre Einführung Teil 1

Ogre Einführung Teil 1 Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.

Mehr

Höhere Programmierkonzepte Testklausur

Höhere Programmierkonzepte Testklausur Höhere Programmierkonzepte Testklausur Prof. Dr. Nikolaus Wulff Zum 15. Januar 2016 1 Ein Google-Map Algorithmus (5 Punkte) 1 2 typedef void X; 3 typedef void Y; 4 5 void map(unsigned int n / tuple length

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

Informatik für Elektrotechnik und Informationstechnik

Informatik für Elektrotechnik und Informationstechnik Informatik für Elektrotechnik und Informationstechnik Praktikum 1 Wintersemester 2013/14 1 Kennenlernen der Entwicklungsumgebung Netbeans Netbeans ist eine moderne Entwicklungsumgebung für mehrere Programmiersprachen,

Mehr

Java I Vorlesung Vererbung und Sichtbarkeit

Java I Vorlesung Vererbung und Sichtbarkeit Java I Vorlesung 4 Vererbung und Sichtbarkeit 17.5.2004 Vererbung Überladen, Überschreiben, Verstecken, Verschatten Zugriffskontrolle Statische Members Wiederholung: OOP Programme bestehen aus Klassen.

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl.

Vorbereitungen Download. AVO-Übung 6. Beispiel. Slice. Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation ICE-Binaries (inkl. Vorbereitungen Download AVO-Übung ICE Andreas I. Schmied (andreas.schmied@uni-ulm.de) AspectIX-Team Abteilung Verteilte Systeme Universität Ulm WS005 Varianten u.a. für Linux, Windows, OS X ICE-Dokumentation

Mehr

Ein erster Blick. Eclipse und Debugging. Anlegen von Projekten. Wissenswertes...

Ein erster Blick. Eclipse und Debugging. Anlegen von Projekten. Wissenswertes... Eclipse und Debugging Ein erster Blick Starten mittels /usr/bin/eclipse oder auch Applications > Programming Legt workspace in eurem Homedir an! CoMa SS 09 Wissenswertes... CoMa II SS 09 1/24 CoMa II SS

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Nathan Burgener. Design by Contract. Modul SWE

Nathan Burgener. Design by Contract. Modul SWE NathanBurgener DesignbyContract ModulSWE NathanBurgener Inhaltsverzeichnis 1 WasistDesignbyContract...3 1.1 Überblick...3 1.2 DesignbyContractmitMethoden...4 1.3 DesignbyContractmitKlassen...5 1.4 Vererbung...6

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Arrays Fortgeschrittene Verwendung

Arrays Fortgeschrittene Verwendung Arrays Fortgeschrittene Verwendung Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Arrays: Wiederholung

Mehr

3D Programmierpraktikum: Einführung in C++ - Teil 2

3D Programmierpraktikum: Einführung in C++ - Teil 2 3D Programmierpraktikum: Einführung in C++ - Teil 2 Praktikum 3D Programmierung Sebastian Boring, Otmar Hilliges Donnerstag, 4. Mai 2006 LMU München Medieninformatik Boring/Hilliges 3D Programmierpraktikum

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr