Datenbankanwendungsprogrammierung Crashkurs Java



Ähnliche Dokumente
Javakurs zu Informatik I. Henning Heitkötter

3 Objektorientierte Konzepte in Java

Java-Schulung Grundlagen

5. Tutorium zu Programmieren

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Primitive Datentypen

3 Objektorientierte Konzepte in Java

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

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

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Grundelemente objektorientierter Sprachen (1)

Übersicht Programmablaufsteuerung

Vorkurs C++ Programmierung

Objektorientierte Programmierung. Kapitel 12: Interfaces

1 Polymorphie (Vielgestaltigkeit)

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Grundelemente objektorientierter Sprachen (1)

Computeranwendung und Programmierung (CuP)

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

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

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

5.4 Klassen und Objekte

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Programmieren in Java

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

Große Übung Praktische Informatik 1

Objektorientierte Programmierung

Modul 122 VBA Scribt.docx

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

5. Abstrakte Klassen

Modellierung und Programmierung 1

Kapitel 6. Vererbung

Einführung in die Programmierung

Zusammenfassung des Handzettels für Programmieren in C

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Java - Programmierung - Prozedurale Programmierung 1

Theorie zu Übung 8 Implementierung in Java

Vererbung & Schnittstellen in C#

5.5.8 Öffentliche und private Eigenschaften

Musterlösungen zur Klausur Informatik 3

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Delegatesund Ereignisse

Algorithmen und Datenstrukturen

Tutorium Rechnerorganisation

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

Einführung in die Java- Programmierung

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Vorlesung Informatik II

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Dr. Monika Meiler. Inhalt

Java Einführung Methoden in Klassen

Liste Programmieren Java Überblick

Java für Computerlinguisten

Programmieren in Java

Kapitel 6. Vererbung

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

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

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Grundlagen der Modellierung und Programmierung, Übung

II.1.1. Erste Schritte - 1 -

Ein erstes Java-Programm

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

Programmierkurs Java

Kapitel 6. Vererbung

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Vorkurs Informatik WiSe 16/17

Probeklausur: Programmierung WS04/05

Java - Programmierung - Objektorientierte Programmierung 1

Themen. Web Service - Clients. Kommunikation zw. Web Services

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Einführung in Javadoc

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

Java Schulung (Java 2 Java Development Kit 5 / 6)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Java Kurs für Anfänger Einheit 5 Methoden

3. Java - Sprachkonstrukte I

Einführung in die Programmierung Blockkurs Java

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

Programmierkurs Java

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Praxis der Programmierung

Einführung in die Programmierung für Wirtschaftsinformatik

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

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

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Transkript:

Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p.

Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung goto implizites Type-Casting Zeiger, manuelle Speicherverwaltung Datenbankanwendungsprogrammierung p.

Applikationen gestartet wird Methode main public class Hello { public static void main(string args[]) { System.out.println("Hello"); } } Datenbankanwendungsprogrammierung p.

Quelltexte Dateien tragen Namen der public-klasse mit Extension.java nur eine öffentliche Klasse pro Datei erlaubt Übersetzung und Ausführung: $ javac Hello.java $ java Hello Datenbankanwendungsprogrammierung p.

Blöcke fassen Anweisung zu einem Verbund zusammen eingeschlossen durch { und } Deklarationen innerhalb von Blöcken möglich, Gültigkeitsbereich, Sichtbarkeit Datenbankanwendungsprogrammierung p.

Einfache Datentypen logischer Typ boolean Ganzzahltypen int, byte, short und long Fließkommatypen float und double Zeichentyp char Datenbankanwendungsprogrammierung p.

boolean einzigen Werte: true, false keine Casts auf/von andere(n) Typen möglich Operationen: ==,!=, &,, ˆ, &&, Datenbankanwendungsprogrammierung p.

Ganzzahltypen vorzeichenbehaftet byte: 8 Bit, short: 16 Bit, int: 32 Bit, long 64 Bit Operationen (u.a.): ==,!=, <, <=, >, >=, +, -, *, /, %, ++, - Zuweisungen: +=, -=, *=, /=,... Datenbankanwendungsprogrammierung p.

Fließkommatypen float: 32 Bit, double 64 Bit Operationen, Zuweisungen ähnlich oben Literale per default double, sonst Suffix f Datenbankanwendungsprogrammierung p.

char speichert einzelne Unicode-Zeichen Zuweisungskompatibel mit int-werten (Nummer des Zeichens) Literale in einfache Hochkommata char c = A ; char d = 65; Datenbankanwendungsprogrammierung p. 1

Wrapper-Klassen Wrapper-Klasse für jeden einfachen Datentyp Boolean, Byte, Short, Integer, Long, Double, Float, Character Aufgabe: formale Parametern von Standard-Methoden, Konvertierungsmethoden Datenbankanwendungsprogrammierung p. 1

Strings kein einfacher Datentyp, sondern Objekte von Klassen String für konstante Zeichenketten, StringBuffer für veränderliche Zeichenketten String s = "Ein Test-String"; String s2 = "Ein Test" + "-String"; Datenbankanwendungsprogrammierung p. 1

Arrays (1) haben Objekt-Eigenschaften, aber keine Konstruktoren; sind auch nicht spezialisierbar Deklaration: int[] demo; // oder auch int demo[]; // geschachtelt: int[][] coord; Datenbankanwendungsprogrammierung p. 1

Arrays (2) Initialisierung: int[] a1 = {1,2,4,9,16}; int[][] coord = {{0,0}, {0,1}, {1,0}, {1,1 int[][] a2 = {{1}, {2,3}}; // oder mit new: int[] a3; a3 = new int[5]; Datenbankanwendungsprogrammierung p. 1

Arrays (3) Zugriff: a1[0] = 0; a2[1][1] = 4; Kopien (Referenzen!) über Objekt.clone() oder System.arraycopy() Datenbankanwendungsprogrammierung p. 1

Variablen, Konstanten Variablendeklaration: <Typname> <Variablenname> Initialisierung möglich Konstanten: zusätzlich final int i; float j, k = 1.2f; final String Titel = "ORDB"; Datenbankanwendungsprogrammierung p. 1

Objekte vs. Werte Werte: Instanzen einfacher Datentypen Objektvariablen sind Referenzen; flaches Kopieren mittels clone() Paramterübergabe grundsätzlich by value Datenbankanwendungsprogrammierung p. 1

Anweisungen if, switch, while, do, for break, continue return Datenbankanwendungsprogrammierung p. 1

if Einschränkung bzgl. C, C++: Bedingung ist boolescher Ausdruck if (a < b) System.out.println(...); else System.out.println(...); Datenbankanwendungsprogrammierung p. 1

switch Ausführung von Anweisungen in Abhängigkeit eines Selektors Selektor: int oder zuweisungskompatibel switch (x) { case 0: System.out.println(...); break; case 1:... default: System.out.println(...); Datenbankanwendungsprogrammierung p. 2

while kopfgesteuerte Wiederholung while (a!= 5) a++; Datenbankanwendungsprogrammierung p. 2

do fußgesteuerte Wiederholung do { a++; } while (a!= 5); Datenbankanwendungsprogrammierung p. 2

for Wiederholung für bestimmte Anzahl von Durchgängen Zählvariable mit Initialwert, Bedingung, Inkrementierungsanweisung Initialisierung, Inkrementierung: mehrere Anweisungen durch Komma getrennt möglich for (int i = 0; i < 10; i++) System.out.println(i); Datenbankanwendungsprogrammierung p. 2

break, continue break verläßt aktuelle Kontrollstruktur continue setzt mit nächstem Schleifendurchlauf fort for (;;a++) { if (a > 10) break; } Datenbankanwendungsprogrammierung p. 2

Kommentare mehrzeilig: /* und */, nicht schachtelbar einzeilig: //, schachtelbar Datenbankanwendungsprogrammierung p. 2

Klassendefinition Attribute, Methoden + Zugriffsregeln public class Point { public int x,y.color; public void moveto(int x, int y) { this.x = x; this.y = y; } } Datenbankanwendungsprogrammierung p. 2

Instantiierung von Klassen Variablen nehmen Referenz auf Objekt auf bei Deklaration null Erzeugung durch new-operator Point p; // Wert null p = new Point(); p.moveto(1,2); Datenbankanwendungsprogrammierung p. 2

Konstruktoren (1) implizit erzeugter parameterloser Standard-Konstruktor tragen Namen der Klasse, Überladen möglich Datenbankanwendungsprogrammierung p. 2

Konstruktoren (2) public class Point {... public Point(int x, int y) { this.x = x; this.y = y; color = 0; } public Point(int x, int y, int color) { this(x,y); this.color = color; } } Datenbankanwendungsprogrammierung p. 2

Destruktoren kein delete-operator, keine Destruktoren im C++-Sinn automatische Freispeicherverwaltung (Garbage Collection) finalizer-methoden (protected void finalize()) Eigenschaften: Aufruf nicht garantiert, Exceptions ignoriert, keine Angaben über Zeitpunkt oder Reihenfolge des Aufrufs Datenbankanwendungsprogrammierung p. 3

Einfachvererbung public class Square extends Point { public int length; public Square(int x, int y, int color, int super(x, y, color); this.length = length; } public void resize(int length) { this.length = length; } } Datenbankanwendungsprogrammierung p. 3

Overriding von Methoden public class RoundSquare extends Square { public int radius; public RoundSquare(int x, int y, int color, super(x, y, color, length); this.radius = radius; } public void resize(int length) { radius = length/this.length; super.rezize(length); } } Datenbankanwendungsprogrammierung p. 3

Zugriffsklassen: Daten, Methoden public Zugriff von beliebigen Klassen protected Zugriff aus jeder Klasse desselben Paketes oder aus Unterklassen anderer Pakete private Zugriff nur von Objekten der gleichen Klasse; keine Vererbung ohne Angabe Zugriff von allen Klassen desselben Pakets Datenbankanwendungsprogrammierung p. 3

Zugriffsklassen: Klassen public Verwendung überall erlaubt ohne Angabe Verwendung nur im eigenen Paket Datenbankanwendungsprogrammierung p. 3

Modifier für Daten/Methoden final Definition von Konstanten, Methode nicht überschreibbar; Methoden einer final-klasse sind implizit final static Klassenvariablen, Klassenmethoden (static-methoden sind implizit final) abstract Methoden ohne Implementierung; nur in abstrakten Klassen Datenbankanwendungsprogrammierung p. 3

Parameterübergabe grundsätzlich call by value d.h. auch Objektreferenzen Modifier final möglich Datenbankanwendungsprogrammierung p. 3

Interfaces reine Schnittstellen ohne Implementierung Interfaces können spezialisiert werden, auch Mehrfachvererbung Klasse kann mehrere Interfaces implementieren, erbt aber keine Implementierungen Interface-Variable kann Objekte der implementierenden Klasse(n) aufnehmen Datenbankanwendungsprogrammierung p. 3

Pakete (1) bündeln logisch zusammengehörige Klassen/Interfaces bilden Hierarchie und jeweils einen Namensraum package mein.paket; public class... Datenbankanwendungsprogrammierung p. 3

Pakete (2) Importieren von Paketen erspart vollständige Qualifikation des Paketnamens import java.util.*; nun z.b. Vector statt java.util.vector Datenbankanwendungsprogrammierung p. 3

Exceptions Auslösen und Behandeln von Ausnahmen Exceptions: Objekte von Klassen, geerbt von Throwable werden lokal behandelt oder die Aufrufhierarchie hinauf propagiert Kombination möglich (Exception behandeln, neue auslösen) Datenbankanwendungsprogrammierung p. 4

Lokale Behandlung try { // potentiell Exception-auslsender Code } catch (ExceptionTyp1 e1) { // Behandlung } catch (ExceptionTyp2 e2) { // Behandlung } optionaler finally-block Datenbankanwendungsprogrammierung p. 4

Propagieren von Exceptions Methodendeklaration: throws public void readfile(string name) throws IOEx // Code, der potentiell IOException auslst } Datenbankanwendungsprogrammierung p. 4