Java Schulung. Objektorientierte Programmierung in Java Teil II: Java Grundlagen und Syntax. Prof. Dr. Nikolaus Wulff
|
|
- Rudolph Winkler
- vor 8 Jahren
- Abrufe
Transkript
1 Java Schulung Objektorientierte Programmierung in Java Teil II: Java Grundlagen und Syntax Prof. Dr. Nikolaus Wulff
2 Agenda: Java Grundlagen Java Syntax Java Datentypen Kontrollstrukturen Klassen und Objekte Überschreiben/Überladen von Methoden Sichtbarkeit Behandlung von Ausnahmen (Exceptions) Die wichtigsten Java Pakete Prof. Dr. Nikolaus Wulff 2
3 Abstrakte Datentypen Klassen sind die logische Erweiterung des Konzepts des ADT. In prozeduralen Sprachen werden ADT's durch Records (Pascal), Structs (C), Common-Blöcke (Fortran) oder Copy-Strecken (Cobol/PL1) realisiert. Dies sind jedoch lediglich reine Datencontainer. In der Objektorientierung werden diese ADT's um die Deklaration der möglichen, erlaubten Manipulationen erweitert. Klasse Daten + Methoden Ein Objekt ist eine Instanz einer Klasse Der entsprechende Speicherplatz für die Daten ist alloziiert und die Methoden können auf diese zugreifen. Prof. Dr. Nikolaus Wulff 3
4 Kapselung Kapselung Kapselung bedeutet, daß auf alle nicht exportierten Eigenschaften eines Objekts von außen nicht direkt zugegriffen werden kann. Wird die konkrete Repräsentation des Zustands verborgen, spricht man auch vom Geheimnisprinzip (Information Hiding, nach [Parnas72]). Kapselung heißt auch, daß die Signatur und das abstrakte Verhalten einer Operation bekannt ist, die Implementation aber verborgen bleibt. Nicht alle oo Programmiersprachen realisieren die Kapselung von Zustand und Implementationen geeignet. Prof. Dr. Nikolaus Wulff 4
5 Eine Klasse in Java Blockanfang public class Sparbuch { public void auszahlen( float betrag ) {... } public void einzahlen( float betrag ) {... } public void berechnezinsen() {... } } private float saldo; private float zinssatz; Blockende Für jede Klasse wird in Java eine eigene Datei angelegt. Beispiel: Sparbuch.java Operationen, (Methoden, Routinen) Attribute Prof. Dr. Nikolaus Wulff 5
6 Hauptprogramm Die Virtual-Machine wird unter Angabe eines Klassennamens gestartet. In dieser Klasse wird nach einer statischen Operation mit eine bestimmten Signatur gesucht, nämlich: public static void main(string[] args). Eine solche Operation kann es auch mehrfach in unterschiedlichen Klassen geben. Je nachdem welches main() gestartet werden soll, wird der entsprechende Klassenname der Virtual-Maschine übergeben. public class HelloWorld { public static void main(string[] args) { System.out.println("Hello, world"); } } Prof. Dr. Nikolaus Wulff 6
7 Konstruktoren Um dem Programmierer zu ermöglichen, die Initalisierung der Variablen eines Objekts zu beeinflussen, gibt es in Java die Möglichkeit, sogenannte Konstruktoren zu vereinbaren. Sie werden automatisch aufgerufen, wenn ein Objekt erzeugt wird. Konstruktoren sind Operationen, die den gleichen Namen wie die Klasse haben. Einschränkungen Konstruktoren dürfen keinen Rückgabetyp besitzen. "Nicht einmal" void. Sie können vom Programmierer nicht explizit aufgerufen werden. Sie werden vom Compiler automatisch eingefügt, sobald er auf eine Codezeile trifft, in der ein neues Objekt erzeugt wird. Prof. Dr. Nikolaus Wulff 7
8 Objekte erzeugen Objekte müssen zur Laufzeit durch einen expliziten Ausdruck erzeugt werden. Dazu wird der Konstruktor mit dem Schlüsselwort new verwendet. Sparbuch einurlaubssparbuch = new Sparbuch(); Sparbuch einnotgroschen = new Sparbuch(); Wird eine Variable mit dem Typ einer Klasse deklariert, so hat sie solange den Initialwert null, bis ihr ein Objekt zugewiesen wird. Sparbuch einurlaubssparbuch; // null Sparbuch einnotgroschen; // null einurlaubssparbuch = new Sparbuch(); einnotgroschen = einurlaubssparbuch; Prof. Dr. Nikolaus Wulff 8
9 Schlüsselworte Beachte: case-sensitive! abstract default if private throw boolean do implements protected throws break double import public transient byte else instanceof return try case extends int short void catch final interface static volatile char finally long super while class float native switch const* for new synchronized continue goto* package this * momentan nicht genutzt Keine Schlüsselworte: true, false, null Neu ab JDK1.4: assert Neu ab JDK1.5: enum Prof. Dr. Nikolaus Wulff 9
10 Java Konventionen Bezeichner: Neue Wörter beginnen mit Großbuchstaben. Keine Unterstriche zur Trennung verwenden. Also nicht drucke_kunden, sondern druckekunden. Klassennamen beginnen mit einem Großbuchstaben, z.b. Girokonto. Operationsnamen beginnen mit einem Kleinbuchstaben, z.b. zahleein. Einige Entwickler lassen Attributnamen mit einem Unterstrich beginnen, z.b. _saldo. (Aber bitte einheitlich!) Nach jeder öffnenden und vor jeder schließenden geschweiften Klammer eine neue Zeile beginnen. Optional: Vor jeder öffnenden geschweiften Klammer eine neue Zeile beginnen. Nach jeder öffnenden geschweiften Klammer eine Einrückung vornehmen. Vor der schließenden geschweiften Klammer diese Einrückung wieder zurücknehmen. Pro Anweisung eine Zeile. Moderne IDE's ermöglichen automatische Formatierung. Prof. Dr. Nikolaus Wulff 10
11 Java Bean Konvention In Java werden Attribute durch getxxx und setxxx Operationen gelesen bzw. gesetzt. Arrays werden entsprechend mit getxxx(int index) und setxxx(int index, Object val) angesprochen. Für boolean Attribute kann optional auch die Operation isxxx statt getxxx verwendet werden. Tools (IDE's und Generatoren) sowie die Java Reflection API verwenden diese Konvention! D.h. eine Klasse mit einer Eigenschaft XYZ hat eine entsprechende public XYZ getxyz() Methode für den lesenden Zugriff und eine public void setxyz (XYZ v) Methode für schreibenden Zugriff. Diese Namenskonvention ist für den Entwickler bindend (insbesondere set und get, gibx und setzex ist nicht konform!). Prof. Dr. Nikolaus Wulff 11
12 Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer Typen an: Natürliche Zahlen (Integer) reale Zahlen (Float oder Real) Zeichen (char) und Wahrheitswerte (boolean). Java verfügt über eine Reihe von elementaren Typen (basic oder primitive types): int, short, long, float, double, byte, boolean und char. Der Typ einer Variable legt fest die Wertemenge (z.b. int nur ganze Zahlen) und die zulässigen Operationen (z.b. int Addieren, Subtrahieren) Prof. Dr. Nikolaus Wulff 12
13 Basisdatentypen und Literale Wahrheitswerte (boolean): Konstanten: true, false Zeichen (char): Konstanten: o, \t, \u78ab (Unicode hexadezimal) Zeichenketten (String): Konstanten: Hallo, Hello + + World\n ganze Zahlen: Konstanten: 47, 47890L (long), 077 (oktal), 07777L (oktal long), 0x89ab (hexadezimal), 0XC0B0L (hex long) Fließkommazahlen: Escape Sequenzen Konstanten: 3.141F, 6.02E23, 6.02E23F, 6.02E23D \ b /* backspace */ \ t /* horizontal tab */ \ n /* line feed */ \ f /* form feed */ \ r /* carriage return */ \ " /* double quote " */ \ ' /* simple quote ' */ \ \ /* backslash \ */ Prof. Dr. Nikolaus Wulff 13
14 Die numerischen Datentypen numerische Datentypen: Jede prozedurale Programmierspache bietet elementaren numerischen Datentypen mit den zugehörigen Operationen an. Die Wertebereiche dieser Datentypen sind meist maschinenabhängig, was die Übertragbarkeit von Programmen erschwert. In Java sind die elementaren Datentypen systemunabhängig festgelegt. Typ Größe Wertebereich byte 1 Byte -128 bis 127 short 2 Bytes bis int 4 Bytes bis long 8 Bytes bis float 4 Bytes 1, *10-45 bis 3, *10 38 double 8 Bytes 4, * bis 1, * Prof. Dr. Nikolaus Wulff 14
15 Basisdatentypen vs. Klassen (1) Für einige Typen existieren sowohl Basisdatentypen als auch Klassen, z.b. int (Basisdatentyp) und Integer (Klasse). Auf den Basisdatentypen sind mathematische Operationen vordefiniert, z.b. +, -, *, \. Die Klassen bieten weitere Methoden zur Manipulation an, z.b. Integer.parseInt( 89 ) zum Umwandeln einer Zeichenkette in eine Zahl. Werte der Basisdatentypen sind keine Objekte (Superklasse Object) und können daher an einigen Stellen nicht verwendet werden. Beispiele: Vector, Hashtable. Vector v = new Vector(); // Vektor von Objekten v.addelement(1); // Fehler 1 ist kein Objekt v.addelement(new Integer(1)); // o.k. Seit JDK1.5 gibt es autboxing 1 wird in Integer(1) verwandelt und addelement(1) funktioniert automatisch... Prof. Dr. Nikolaus Wulff 15
16 Basisdatentypen vs. Klassen (2) Literale evaluieren zu Werten von Basisdatentypen, z.b. 1 zu int. Ausnahme: Zeichenketten werden zu Objekten der Klasse String. Objekte müssen explizit angelegt werden, z.b. new Integer(1). Prof. Dr. Nikolaus Wulff 16
17 Basisdatentypen vs. Klassen (3) Unterschiede beim Vergleich (Wertgleichheit vs. Objektidentität): 1 == 1 new Integer(1)!= new Integer(1) Unterschiede bei der Zuweisung (Kopie vs.referenz): int a = 75; int b = 100; b = a; a = 200; // b == 75 // a!= b Integer a = new Integer(75); Integer b = new Integer(100); b = a; // Objektreferenz wird geändert a.setint(200); // b.intvalue() == 200 // a == b a b a b a b (2) (1) a b (3) 200 Prof. Dr. Nikolaus Wulff 17
18 Operatoren Operator Funktion, arithmetisch * Multiplikation / Division % Modulo + Addition - Subtraktion ++ Inkrement -- Dekrement Der Gleichheitstest wird häufig mit der Operator ==!= = Funktion Gleichheit Ungleichheit Zuweisung Operator Zuweisung verwechselt saldo = 0; // Zuweisung saldo == 0; // Gleichheit saldo!= 0; // Ungleichheit Die Zuweisung liefert in Java ein Ergebnis: int i, j; i = j = 0; Redundante Operatoren: Funktion, boolesche logisches NICHT (NOT) kleiner als kleiner als oder gleich größer als größer als oder gleich logisches UND (AND) logisches ODER (OR) // Auswertung von rechts // nach links saldo++; saldo = saldo + 1; Prof. Dr. Nikolaus Wulff 18! < <= > >= &&
19 Operationen mit Basisdatentypen Zusammenziehen von Operationen und Zuweisungen möglich: sum = sum + count sum = sum + 1 Operationen mit Seiteneffekt: sum++ sum += count (a!= 0) & ((100 / a) > 10) u.u. Division durch 0 Short Circuit (&& und ): boolscher Ausdruck wird nur solange ausgewertet, bis das Ergebnis feststeht: (a!= 0) && ((100 / a) > 10) immer o.k. Prof. Dr. Nikolaus Wulff 19
20 Variablen und Konstanten Vor ihrer Verwendung müssen Variablen und Konstanten bekanntgemacht, d.h. deklariert werden. Das kann an jeder beliebigen Stelle im Source-Code geschehen: Angabe des Typs, der die Wertemenge und die zulässigen Operationen bestimmt, Nennung ihres Bezeichners. Vom Laufzeitsystem wird jede Variable mit einem standardisierten Initialwert belegt. Optional kann bei der Deklaration ein Initialwert zugewiesen werden. Syntax in Java: <VarDeklaration> := <Typ> <Bezeichner> Beispiel: int i; double d = 1.123; char c = 'a'; Eine Konstante wird mit dem Schlüsselwort final deklariert. Bei der Deklaration muß der Wert der Konstanten angegeben werden. Beispiel: final int i = 10; final double pi = ; final char a = 'a'; Prof. Dr. Nikolaus Wulff 20
21 Attribute Ein Attribut wird in der Klasse im Anschluß an die Operationen oder vor den Operationen deklariert (Wichtig: einheitliche Konvention im Projekt!). Dies geschieht durch: Festlegung der Sichtbarkeit, Angabe des Typs, Nennung ihres Bezeichners. Über die Sichtbarkeit wird festgelegt, ob und wer von Außen auf die Exemplarvariable zugreifen darf (näheres später). Auch die Exemplarvariablen können mit einem Initialwert versehen werden. Syntax in Java: <VarDeklaration> := <Sichtbarkeit> <Typ> <Bezeichner> Beispiel: private float zinssatz; private float saldo = 0.0; Prof. Dr. Nikolaus Wulff 21
22 Array Datentyp, der eine Menge von Elementen des gleichen Typs (Elementtyp) repräsentiert. Die Anzahl der Elemente ist fest und heißt Länge des Array. Der Name einer Array-Variablen bezeichnet den gesamten Array. Ein einzelnes Array-Element wird durch eine Nummer (Index) identifiziert. Ein Index ist eine ganze Zahl zwischen 0 und (Länge - 1). Arrays sind Objekte, es gibt aber keine explizite Array-Klasse(!) die Größe wird bei Erzeugung des Array-Objektes zur Laufzeit festgelegt. Eine dynamische Größenänderung ist nicht möglich. Die Länge des Arrays kann mit length ermittelt werden. length ist keine Operation, sondern eine Art Read-Only-Attribut. a a[i] 0 i N-1 Index Länge = N Prof. Dr. Nikolaus Wulff 22
23 Beispiel: Array public class Liste { private int[] array; private int anzahl; public Liste() { array = new int[10]; anzahl = 0; } public void elementhinzufügen(int e){ array[anzahl++] = e; }... Array des Typs int deklarieren, ohne Angabe der Arraygröße Erzeugen des Array-Objektes Zuweisung auf ein Element des Arrays } Prof. Dr. Nikolaus Wulff 23
24 Operationen Die nach Außen sichtbare Schnittstelle eines Objektes wird durch seine möglichen Operationen bestimmt. Der Aufruf einer Operation wird häufig auch Nachricht oder Botschaft genannt. Beispiel: Der EventService sendet die Nachricht aktualisierepostkorb an die Postkorb Instanz des Benutzers. Manchmal werden Operationen auch (etwas künstlich) in Prozeduren und Funktionen unterteilt. Prof. Dr. Nikolaus Wulff 24
25 Deklaration von Prozeduren Prozeduren sind verändernde bzw. manipulierende Operationen, die den Zustand des Objektes, mit dem sie gerufen werden, verändern. Eine Operation wird in Java dadurch als Prozedur gekennzeichnet, daß ihre Deklaration mit void eingeleitet wird. nach Außen sichtbar benutzerdefinierter Bezeichner für die Prozedur (in Java kleingeschrieben) public void einzahlen(float betrag ); Prozeduren liefern keinen Rückgabewert Parametername formaler Parameter vom Typ float Werden mehrere Parameter angegeben, muß für jeden Parameter der Typ mitgegeben werden. Die Parameter werden durch Komma getrennt. public void setzekonditionen(float habenzins, float sollzins); Prof. Dr. Nikolaus Wulff 25
26 Deklaration von Funktionen Funktionen sind sondierende Operationen, die den Zustand des Objektes, mit dem sie gerufen werden, nicht verändern dürfen. Der Funktionsname steht - im Unterschied zu einem Prozedurnamen - nicht nur für eine Anweisungsfolge, sondern auch für einen (Ergebnis-) Wert von einem vereinbarten (Ergebnis-) Typ. Funktionen können deshalb als Teil von Ausdrücken verwendet werden. Das Funktionsergebnis wird explizit (mittels der return Anweisung) zurückgegeben. Rückgabetyp float benutzerdefinierter Bezeichner für die Funktion public float gibsaldo( ); nach Außen sichtbar diese Funktion hat keine Parameter Prof. Dr. Nikolaus Wulff 26
27 Klassenimplementation Die Implementation einer Java-Klasse wird mit der Definition zusammen in derselben Datei.java durchgeführt. Beispiel: Sparbuch.java public class Sparbuch { private float saldo = 0; public void einzahlen(float wert){ this.saldo += wert; } public float getsaldo() { return this.saldo; } Für jedes Argument in der Liste der Parameter wird gesondert der Typ angegeben. Eine Funktion gibt ihren Rückgabewert mit return zurück. Wo immer im Code der Funktion die return- Anweisung steht, wird die Funktion verlassen. Prof. Dr. Nikolaus Wulff 27
28 Kommentare Einzeiliger Kommentar: r = p % q; // Rest berechnen Mehrzeiliger Kommentar: /* in den Zeilen nach diesem Kommentar wird der Rest einer Division berechnet */ r = p % q; Kommentare sind ein wichtiger Bestandteil eines Programms. Mittels JavaDoc wird eine HTML Dokumentation generiert. Dies erleichtert das Verständniss und die Wartbarkeit. Durch entsprechende Tools, wie z.b. Jalopy, lassen sich Regel zur Dokumentation einhalten. Kommentare immer eine logische Abstraktionsebene höher als der Code. Nicht: b = (a / 100) * 16; // 16% von a berechnen Sondern: b = (a / 100) * 16; // MWSt. berechnen Prof. Dr. Nikolaus Wulff 28
29 Ausnahmen Was passiert bei fehlerhaften Abläufen? Beispielsweise: Parameter haben falsche oder inkonsistente Werte. Bedingungen gelten nicht. Es fehlen Werte. int teile(int a, int b) { if (b == 0) { /*??? */ } else return a / b; } Was soll hier passieren? Rückgabe von Fehlerwerten (0, -1, null, "", "ERROR") nicht empfehlenswert, weil bei jedem Aufruf eine Prüfung erfolgen muss: int ergebnis = teile(8, 0); if (ergebnis == 0) { /* Fehler */ } else... Prof. Dr. Nikolaus Wulff 29
30 Erzeugung von Ausnahmen Ausnahme bedeutet: Die Bearbeitung kann nicht ordnungsgemäß fortgesetzt werden. Eine Ausnahme ist ein Objekt. Auslösen einer Ausnahme: Konstruktor if (b == 0) throw new ArithmeticException(); Ausnahmen können Parameter erhalten, wie bei jedem Konstruktor: Parameter if (t == null) throw new NullPointerException("t==null"); Mit dem throw Konstrukt wird der aktuelle Programmfluß unterbrochen und die Methode verlassen. Prof. Dr. Nikolaus Wulff 30
31 Ausnahmebehandlung try {... Block, der evtl. Ausnahmen auslöst } catch(exceptiontyp1 e1) {... Behandle die Ausnahmen des Typs ExceptionTyp1 } catch(exceptiontyp2 e2) {... Behandle die Ausnahmen des Typs ExceptionTyp2 } Beispiel try { throw new Exception("Here's my Exception"); } catch(exception e) { e.printstacktrace(); } Prof. Dr. Nikolaus Wulff 31
32 Einfangen von Ausnahmen Alle eigenen Ausnahmen werden von der Klasse Exception abgeleitet. MyException1 MyException11 Exception MyException2 try {... } catch(myexception1 e) {... Behandle die Ausnahmen des Typs MyException1und der Subklassen } catch(exception e) { Behandle... alle weiteren Ausnahmen Achtung: Beim Einfangen einer Ausnahme einer bestimmten Klasse werden auch alle Ausnahmen von Subklassen eingefangen. } Prof. Dr. Nikolaus Wulff 32
33 Ausnahme-Klassenhierarchie Alle Ausnahmen müssen behandelt werden (in try-catch-blöcken), bis auf Ausnahmen der Klasse RuntimeException und deren Subklassen. Systemfehlermeldungen sind von der Klasse Error abgeleitet. Throwable Exception Error MyException RuntimeException NullPointerException IlegalArgumentException Prof. Dr. Nikolaus Wulff 33
34 Die if-else-anweisung Beispiel 1: if (x < 0) y = -1; else if (x > 0) y = 1; else y = 0; Beispiel 2: if (x > 0) if (x == 42) y = 4711; else y = 0; Beispiel 3: if (x > 0) { if (x == 42) { y = 4711; } else { y = 0; } } if (expression) statement-1; else statement-2; Vorsicht bei geschachtelten if-anweisungen: ein else- Zweig bezieht sich immer auf die letzte if-anweisung ohne else-zweig. Explizite Klammerung hilft, Fehler zu vermeiden! Prof. Dr. Nikolaus Wulff 34
35 Die for-schleife Beispiel 1: for (init-statement; expression-1; expression-2) statement; int fak; for (fak=6; n > 1; n--) { fak = fak * (n - 1) } Beispiel 2: for (;;) { /* looping forever... */ } Vergleiche eine saubere For-Schleife: r := 0; FOR i := 1 TO 99 BY 2 DO r := r + i END; Bei Eintritt in die for-schleife kann keine feste Anzahl von Durchläufen garantiert werden, da der Wert der Laufvariablen innerhalb des Rumpfes der for-anweisung verändert werden darf. Da expression-2 ein beliebiger Ausdruck sein kann, ist nicht gewährleistet, daß die Laufvariable bei jedem Durchlauf erhöht bzw. erniedrigt wird. Da expression-1 ein beliebiger Ausdruck sein kann, ist nicht einmal gewährleistet, daß die Steuerung und der Abbruch der Schleife überhaupt mit Hilfe einer Laufvariablen erfolgt. Prof. Dr. Nikolaus Wulff 35
36 Beispiel Wir schreiben ein Programm zur Berechnung der Fakultät. Ziele: Anwenden der for-schleife und des if-konstrukts. Kennenlernen des rekursiven Methodenaufruf. Implementierung einer Fehlerbehandlung. Def.: a) als Produkt n n! := k k=1 b) per Rekursion 1! := 1 n! := n*(n-1)! Prof. Dr. Nikolaus Wulff 36
37 Die switch-anweisung Beispiel: ch = a ; switch ( ch ) case label { case A : case a : a_counter++; break; case E : case e : e_counter++; break; case I : case i : i_counter++; break; case O case o : o_counter++; break; case U : case u : i_counter++; break; }; default: consonant_counter++; break; Als case label verwenden wir Konstanten vom Typ int, long oder char. Was passiert, wenn die break-anweisung fehlt? zwei case label denselben Wert haben? keiner der Fälle zutrifft und die default-anweisung fehlt? Prof. Dr. Nikolaus Wulff 37
38 Die while- und do-schleife Beispiel einer while-schleife: r = p % q; while (r!= 0) { p = q; q = r; r = p % q; } Dasselbe Beispiel als do-schleife: r = p % q; if (r!= 0) do { p = q; q = r; r = p % q; } while (r!= 0); while-schleifen lassen sich immer als do-schleifen formulieren. while (expression) statement; do statement; while (expression) Vorsicht: die do-schleife ist genau wie die while-schleife eine Solange- Noch Schleife. Der Schleifenkörper wird ausgeführt, solange die Wiederholungsbedingung noch gültig ist. while-schleifen testen die Wiederholungsbedingung vor dem ersten Durchlauf. Ungeschützte do-schleifen laufen vor dem Test mindestens einmal durch. Prof. Dr. Nikolaus Wulff 38
39 Konvertierungen Automatisch short nach int int nach long long nach float float nach double String Automatische Konvertierung mit + Operator. Z.B DM DM DM Manuelle Konvertierungen Explizit casten Z.B.: double d = 1.23; float f = (float) d; Prof. Dr. Nikolaus Wulff 39
40 Werkzeuge im JDK Falls keine IDE zur Verfügung steht... Java - Interpreter führt Java-Byte-Code aus. Javac - Compiler für Java-Programme. Übersetzt Java-Quellcode in Java-Byte-Code. Jdb - Kommandozeilen-Debugger. Javap - Disassembler für Java-Byte-Code. Javadoc - Erzeugt Dokumentation zu Java-Klassen in HTML. Appletviewer - Führt Applets aus. Java-Quellen haben die Endung.java. Java-Byte-Code hat die Endung.class. Prof. Dr. Nikolaus Wulff 40
41 JavaDoc Die Dokumentation gehört - ebenso wie lauffähige Tests - zur Qualitätssicherung eines jeden Projekts! Dokumentation kann durch Meta-Tags angereichert werden. Notwendige Kommentarform: /** Dr. Nikolaus Wulff */ Weitere mögliche Meta-Tags, die von JavaDoc @exception Prof. Dr. Nikolaus Wulff 41
42 Die JDK API als JavaDoc Packages Klassenbeschreibung Klassen Prof. Dr. Nikolaus Wulff 42
43 Beispiel Entwickelung eines Taschenrechners. Er bietet die vier grundlegenden Operationen +,-,*,/, die als Zeichen oder Text (add, sub, mult, div) eingegeben werden können. Die Ein- und Ausgabe erfolgt per Console. Prof. Dr. Nikolaus Wulff 43
44 Beispiel Taschenrechner Ziele: Anwenden des switch-case Konstrukts. Verwendung von Arrays. Auswerten der Kommandozeile Erweiterung der Fehlerbehandlung durch das Konzept der Assertions. Erstellung einer Dokumentation mit Javadoc. Prof. Dr. Nikolaus Wulff 44
45 Hinweis Trennen Sie das Parsen der Kommandozeile von der Berechnung. Verzweigen Sie in die eigentliche Berechnung mit einem switchcase Konstrukt. Zur Typumwandlung von String nach double die Klasse java.lang.double verwenden. In JavaDoc nachschauen... Geben Sie eine Fehlermeldung bei falschen Argumenten aus. Prof. Dr. Nikolaus Wulff 45
Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
MehrJava-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
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrEinstieg 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
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrDas 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
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrII. 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
Mehr5. Tutorium zu Programmieren
5. Tutorium zu Programmieren Dennis Ewert Gruppe 6 Universität Karlsruhe Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by IPD Snelting
MehrJava 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
MehrJavakurs 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,
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrTeil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen
Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrEinfü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:
MehrDas Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala
Das Typsystem von Scala 1 Eigenschaften Das Typsystem von Scala ist statisch, implizit und sicher 2 Nichts Primitives Alles ist ein Objekt, es gibt keine primitiven Datentypen scala> 42.hashCode() res0:
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrModellierung 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; {
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrPrimitive 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.
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrProgrammieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff
Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrEinfü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)
MehrDiana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
MehrJavadoc. 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
MehrEinfü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Ü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Übersicht Programmablaufsteuerung
Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrJava Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
MehrGliederung 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
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen
Grundlagen der Programmierung Prof. H. Mössenböck 3. Verzweigungen If-Anweisung n > 0? j n if (n > 0) x = x / n; ohne else-zweig x x / n j max x x > y? n max y if (x > y) max = x; else max = y; mit else-zweig
MehrEinfü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()
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrProgrammieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrEinfü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).
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrProgrammieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrSEP 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
Mehr3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrGroß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,
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
Mehr1. Der Einstieg in Java. Was heißt Programmieren?
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrProblemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.
Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden
MehrProbeklausur: 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,
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrBeispiel: 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
Mehr3. Java - Sprachkonstrukte I
Lernziele 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Sie kennen die grundlegensten Bausteine
MehrKontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrEinfache 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"
MehrPHP 5.4 ISBN 978-3-86249-327-2. Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012. Grundlagen zur Erstellung dynamischer Webseiten GPHP54
PHP 5.4 Stephan Heller, Andreas Dittfurth 1. Ausgabe, September 2012 Grundlagen zur Erstellung dynamischer Webseiten ISBN 978-3-86249-327-2 GPHP54 5 PHP 5.4 - Grundlagen zur Erstellung dynamischer Webseiten
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrKontrollstrukturen, 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
MehrWo sind wir? Übersicht lexikale Struktur von Java
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
MehrKapitel 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
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrObjektorientierte Programmierung in Java
Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet:
MehrEinfü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
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrKapitel 6. Vererbung
1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrEinfache Rechenstrukturen und Kontrollfluss II
Einfache Rechenstrukturen und Kontrollfluss II Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.informatik.uni-muenchen.de/lehre/ss06/infoii/ SS 06 Ziele Lernen imperative
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrGrundlagen der Modellierung und Programmierung, Übung
Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak
MehrInformatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am
MehrÜbung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
Mehr