Lambda Expressions in Java 8
|
|
|
- Johannes Michel
- vor 8 Jahren
- Abrufe
Transkript
1 Sie sind da Lambda Expressions in Java 8 Rolf Borst
2 Lambda Expressions sind cool Aus dem Internet Stimmt das?
3 Das total uncoole Beispiel Person nachname : String vorname : String alter : int plz : String wohnort : String List<Person> personen Aufgabe Es sollen alle Personen über 30 Jahre ermittelt werden (Ü-30 Party). Später soll auch nach Wohnorten, Namen, gesucht werden können.
4 Wie machen wir das bisher? Möglichkeit: Design Patterns filtern(personen, new FilterAlter(30)) filtern(personen, new FilterName("Schuster")) filtern(personen, new FilterWohnort("Stuttgart"))
5 Design Pattern public interface Filter<T> { boolean isterfuellt(t e); public <T> List<T> filtern(list<t> liste, Filter<T> filter) { List<T> treffer = new ArrayList<T>(); for (T e : liste) { if (filter.isterfuellt(e)) { treffer.add(e); return treffer;
6 Anonymous Inner Classes List<Person> treffer = filtern(personen, new Filter<Person>() public boolean isterfuellt(person p) { return p.getalter() >= 30; );
7 Was wäre denn richtig cool? filtern(personen, p.getalter() >= 30);
8 Was wäre denn richtig cool? filtern(personen, p.getalter() >= 30); Lambda Expressions
9 Lambda Expressions public interface Filter<T> { List<Person> treffer = filtern(personen, new Filter<Person>() public boolean isterfuellt(person p) { return p.getalter() >= 30; );
10 Lambda Expressions public interface Filter<T> { List<Person> treffer = filtern(personen, new Filter<Person>() public boolean isterfuellt(person p) { return p.getalter() >= 30; ); filtern(personen, (Person p) -> { return p.getalter() >= 30; ); filtern(personen, p -> p.getalter() >= 30 );
11 Lambda Expressions Exceptions public void verarbeiten(list<person> personen, int alter) { treffer = filtern(personen, p -> p.getalter() >= alter); Funktionalität Erzeuger public <T> List<T> filtern(list<t> liste, Filter<T> filter) { List<T> treffer = new ArrayList<T>(); for (T e : liste) { if (filter.isterfuellt(e)) { treffer.add(e); Aufrufer return treffer;
12 Functional Interface filtern(personen, p -> p.getalter() >= 30 ); Methodensignatur: filtern(list<t> liste, Filter<T> filter) public interface Filter<T> { boolean isterfuellt(t e); Interface mit genau einer abstrakten Methode Functional Interface default boolean nichterfuellt(t e) { return!isterfuellt(e); Interface darf default-methoden besitzen
13 Lambda Expressions (Person p1, Person p2) -> (p1, p2) -> (Typ ermittelbar) p -> (Nur ein Argument) () -> (Kein Argument) Linke Seite filtern(personen, p -> p.getalter() >= 30 );
14 Lambda Expressions filtern(personen, p -> p.getalter() >= 30 ); Rechte Seite -> (Ein Statement) -> { int min= 30; return p.getalter() >= min; p.getalter() >= 30
15 Auf was kann ich eigentlich in der Lambda Expression zugreifen? public class DatenService { Auf alles private int minalter; public void verarbeiten(list<person> personen, int altervon) { int alter = einlesenaltervongui(); List<Person> treffer = filtern(personen, p -> p.getalter() >= alter); public int ermittelnmindestalter() { return ;
16 public class DatenService { private int minalter; mit Einschränkungen Müssen final oder effektiv final sein public void verarbeiten(list<person> personen, int altervon) { int alter = einlesenaltervongui(); List<Person> treffer = filtern(personen, p -> p.getalter() >= alter); public int ermittelnmindestalter() { return ;
17 Das geht nicht for (int alter = 20; alter <= 70; alter++) { List<Person> treffer = filtern(personen, p -> p.getalter() == alter ); anzeigentreffer(treffer);
18 Das geht nicht for (int alter = 20; alter <= 70; alter++) { List<Person> treffer = filtern(personen, p -> p.getalter() == alter ); anzeigentreffer(treffer); das dagegen schon for (int alter = 20; alter <= 70; alter++) { int suchalter = alter; List<Person> treffer = filtern(personen, p -> p.getalter() == suchalter ); anzeigentreffer(treffer);
19 Exceptions public int berechnenalter(person p) throws AlterException { public void verarbeiten(list<person> personen) throws AlterException { treffer = filtern(personen, p -> berechnenalter(p) >= 30); Das geht nicht
20 Exceptions public int berechnenalter(person p) throws AlterException { public void verarbeiten(list<person> personen) throws AlterException { treffer = filtern(personen, p -> berechnenalter(p) >= 30); Das geht nicht Interface definiert Vertrag public interface Filter<T> { boolean isterfuellt(t e);
21 Exceptions public int berechnenalter(person p) throws AlterException { public void verarbeiten(list<person> personen) { treffer = filtern(personen, p -> { try { berechnenalter(p) >= 30); catch (AlterException) { return false; Eine mögliche Lösung
22 Lambda Expressions Exceptions Funktionalität public void verarbeiten(list<person> personen, int alter) { treffer = filtern(personen, p -> p.getalter() >= alter); Erzeuger public <T> List<T> filtern(list<t> liste, Filter<T> filter) { List<T> treffer = new ArrayList<T>(); for (T e : liste) { if (filter.isterfuellt(e)) { treffer.add(e); Aufrufer return treffer;
23 Design Pattern 1 Unser Filter-Interface public interface Filter<T> { boolean isterfuellt(t e); 2 Unsere filtern-methode public List<Person> filtern( ) { 3 Unsere Filter-Klassen AlterFilter, WohnortFilter, NameFilter, Anonymous Inner Classes Lambda Expressions
24 Design Pattern 1 Unser Filter-Interface gibt es schon 2 public interface Filter<T> { boolean isterfuellt(t e); Unsere filtern-methode public interface Predicate<T> { boolean test(t e); Package java.util.function Function, Consumer, Supplier, public List<Person> filtern( ) { 3 Unsere Filter-Klassen AlterFilter, WohnortFilter, NameFilter, Anonymous Inner Classes
25 Design Pattern 1 Unser Filter-Interface public interface Filter<T> { boolean isterfuellt(t e); 2 Unsere filtern-methode public List<Person> filtern( ) { gibt es schon Erweiterungen bei den Collections Streams 3 Unsere Filter-Klassen AlterFilter, WohnortFilter, NameFilter, Anonymous Inner Classes
26 Streams 0..n Intermediate Operations Eintrittskarte List<Person> personen = ; List<Person> treffer = personen.stream().filter(p -> p.getalter() >= 30).collect(Collectors.toList()); Stream<Person> Stream<Person> List<Person> Terminal Operation
27 Streams 0..n Intermediate Operations filter map distinct sorted limit skip List<Person> personen = ; List<Person> treffer = personen.stream().filter(p -> p.getalter() >= 30).collect(Collectors.toList()); Terminal Operation foreach reduce min max count findfirst anymatch allmatch collect tolist groupingby joining
28 Streams Aufgabe Es soll eine Namensliste der Personen über 30 Jahre erstellt werden. Die Liste soll nach dem Alter sortiert sein. List<Person> personen = ; List<String> nachnamen = personen.stream().filter(p -> p.getalter() >= 30).sorted(Comparator.comparingInt(Person::getAlter)).map(Person::getNachname).collect(Collectors.toList());
29 Methodenreferenzen Aufgabe Es soll eine Namensliste der Personen über 30 Jahre erstellt werden. Die Liste soll nach dem Alter sortiert sein. List<Person> personen = ; List<String> nachnamen = personen.stream().filter(p -> p.getalter() >= 30).sorted(Comparator.comparingInt(Person::getAlter)).map(Person::getNachname).collect(Collectors.toList()); Methodenreferenzen
30 Methodenreferenzen public interface Suche { boolean pruefen(person p, String begriff); public class PersonHelper { public static boolean ueberpruefen(person p, String begriff) { suchen( personen, PersonHelper::ueberpruefen ) Alternative für: suchen( personen, (p, b) -> PersonHelper.ueberpruefen(p, b) )
31 Methodenreferenzen public interface Suche { boolean pruefen(person p, String begriff); public class PersonPruefer { public boolean ueberpruefen(person p, String begriff) { PersonPruefer pruefer = new PersonPruefer(); suchen( personen, pruefer::ueberpruefen ) Alternative für: suchen( personen, (p, b) -> pruefer.ueberpruefen(p, b) )
32 Methodenreferenzen public interface Suche { boolean pruefen(person p, String begriff); public class Person { public boolean ueberpruefen(string begriff) { suchen( personen, Person::ueberpruefen ) Alternative für: suchen( personen, (p, b) -> p.ueberpruefen(b) )
33 Methodenreferenzen public interface Erzeuger { Person erzeugen(string nachname, String vorname); public class Person { public Person (String nachname, String vorname) { erweitern( personen, Person::new ) Alternative für: erweitern( personen, (n, v) -> new Person(n, v) )
34 Methodenreferenzen List<Person> personen = ; p -> p.getalter() List<String> nachnamen = personen.stream().filter(p -> p.getalter() >= 30).sorted(Comparator.comparingInt(Person::getAlter)).map(Person::getNachname).collect(Collectors.toList()); p -> p.getnachname()
35 Mehr Beispiele
36 1 Oberflächen bisher Button speichernbutton = new Button("Speichern"); speichernbutton.setonaction(new EventHandler<ActionEvent>() public void handle(actionevent event) { speichern(); );
37 1 Oberflächen mit Lambda Expressions Button speichernbutton = new Button("Speichern"); speichernbutton.setonaction(e -> speichern()); oder Button speichernbutton = new Button("Speichern"); speichernbutton.setonaction(this::speichern);
38 2 Logging bisher logger.debug( ermittelndebuginfo() ); private String ermittelndebuginfo() { // dauert sehr lange
39 2 Logging bisher besser if (logger.isdebugenabled()) { logger.debug( ermittelndebuginfo() ); private String ermittelndebuginfo() { // dauert sehr lange
40 2 Logging mit Lambda Expressions logger.debug( () -> ermittelndebuginfo() ); oder logger.debug( this::ermittelndebuginfo ); Im Logging-Framework: public void debug(messagesupplier message) if (isdebugenabled()) { writelog( message.get() ); ermittelndebuginfo()
41 3 JDBC bisher try (Connection conn = getconnection()) { String sql = "SELECT artikelnr, bezeichnung FROM artikel WHERE gruppe =?"; try (PreparedStatement stmt = conn.preparestatement(sql)) { stmt.setstring(1, gruppe); ResultSet rs = stmt.executequery(); while (rs.next()) { Artikel artikel = new Artikel(); artikel.setartikelnr(rs.getint("artikelnr")); artikel.setbezeichnung(rs.getstring("bezeichnung")); artikelliste.add(artikel); rs.close();
42 3 JDBC mit Lambda Expressions besser? List<Person> personen = datenermitteln( () -> getconnection(), () -> "SELECT artikelnr, bezeichnung FROM artikel WHERE gruppe =?", stmt -> stmt.setstring(1, gruppe), rs -> { Artikel artikel = new Artikel(); artikel.setartikelnr(rs.getint("artikelnr")); artikel.setbezeichnung(rs.getstring("bezeichnung")); return artikel; );
43 Fazit Lambda Expression sind cool
44 Sie sind da Lambda Expressions in Java 8 Danke
Ich liebe Java && Ich liebe C# Rolf Borst
Ich liebe Java && Ich liebe C# Rolf Borst Java oder C#? Einführung public class Einfuehrung { private int gesamtzahl = 0; /* Ermittelt die Anzahl der geraden und durch drei teilbaren Zahlen */ public String
Beispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
Java 8. Die wichtigsten Neuerungen. W3L AG [email protected]
1 Java 8 Die wichtigsten Neuerungen W3L AG [email protected] 2013 2 Agenda Java Versionshistorie und Zeitplan Neue Features in Java 8 Überblick Neue Features im Detail Lambda Expressions Functional interfaces
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
Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
Java 8: Lambdas, Streams & Co
Java 8: Lambdas, Streams & Co Mindblast - Ruedi Arnold Zusammenfassung [ausgeblendete Folie!] Zusammenfassung: Am 18. März 2014 wurde Java 8 veröffentlicht und die Sprache damit nach jahrelangen Diskussionen
DB-Programmierung. Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1. Ziele. DB2 Zugriff mit Java selbst programmieren
DB-Programmierung Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele static SQL verstehen Build-Prozess / Art des Datenzugriffs Host-Variablen Vor- / Nachteile dynamic SQL verstehen
JDBC. Allgemeines ODBC. java.sql. Beispiele
JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet
11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
11. Funktionale Programmierung Advanced Programming Techniques Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen zu Design Patterns Wozu werden Design Patterns verwendet? Wann
JUGS Java 8 Hands On Übungen
JUGS Java 8 Hands On Übungen (C) Copyright by Michael Inden, 2015 [email protected] Lambdas Aufgabe 1a: Was sind gültige Lambdas? Schaue auf das folgende Interface LongBinaryOperator. public interface
13. Funktionale Konzepte in Java
Funktionale vs. Imperative Programmierung 13. Funktionale Konzepte in Java Funktionale Programmierung, Lambda Ausdrücke, Datenströme, Pipelines Imperative Konzepte Ausführen von Anweisungen Zustand (z.b.
seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
Die Java Stream API. Funktionale Programmierung mit der Stream API des JDK 1.8. Prof. Dr. Nikolaus Wulff
Die Java Stream API Funktionale Programmierung mit der Stream API des JDK 1.8 Prof. Dr. Nikolaus Wulff Funktionale Programmierung Neben der Collection API mit default Methoden ist als weitere Neuerung
public class SternchenRechteckGefuellt {
Java programmieren: Musterlösungen Konsolen-Aufgaben Aufgabe 1: Gefüllte Rechtecke zeichnen Schreiben Sie ein Programm, das ein durch Sternchen gefülltes Rechteck zeichnet. Der Benutzer soll Breite und
JDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
Datenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz ([email protected]) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
Prof. Dr.-Ing. Wolfgang Lehner. Externe User Defined Functions und externe Stored Procedures
Prof. Dr.-Ing. Wolfgang Lehner 7. Externe User Defined Functions und externe Stored Procedures Roadmap intern intern/extern extern SQL UDF SQL SP XQUERY Trigger ext. UDF ext. SP SQLJ Embedded SQL JDBC
Client/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme [email protected] Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte
Große Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 [email protected] http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
Lösungsvorschläge. zu den Aufgaben im Kapitel 4
Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere
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
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
Gebundene Typparameter
Gebundene Typparameter interface StringHashable { String hashcode(); class StringHashMap { public void put (Key k, Value v) { String hash = k.hashcode();...... Objektorientierte
vs. Fehler zur Übersetzungszeit
Client-Server-Architektur, Anbindung von Programmiersprachen, Call-Level-Schnittstellen: /, JDBC, :, J, gespeicherte Prozeduren, prozedurale Erweiterungen: /PSM, PL/. IPD, Forschungsbereich Systeme der
Kapitel 7 des Buches, von Java-Selbstbau nach Scala-Library portiert. 2014-11-14 Christoph Knabe
Anfragen für Listen Kapitel 7 des Buches, von Java-Selbstbau nach Scala-Library portiert. 2014-11-14 Christoph Knabe 1 MapReduce-Verfahren Google u.a. verwenden Map-Reduce-Verfahren zur Verarbeitung riesiger
Bean-Mapping mit MapStruct
Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much [email protected] www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000
Wie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS Workbench Kommandozeile IBM Query Tool Weitere?
Programmiertechnik II Klausur WS 15/16 Angewandte Informatik Bachelor
Programmiertechnik II Klausur WS 15/16 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 10 3 12 4 12 5 14 54 6 12 7 20 8 17 9 17 Summe 120 Note Prof.
Klausur Grundlagen der Programmierung
Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel
UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme
UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //
Oracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
Programmieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008
Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)
Datum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:...
Prüfung "Programmieren 2", INbac2, SS 2014 Seite 1 von 7 Datum, Uhrzeit: 18. 07. 2014, 10.30 Uhr Matrikelnummer:... Semester: INbac2 Prüfer: Prof. Meixner Note:... Dauer: 60 Min. Hilfsmittel: keine Punkte:...
Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können!
Datenbanken: Standard CLI und JDBC Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen
Java 8 Lambdas und Streams
Java 8 Lambdas und Streams E-Voting Group, 24. Juni 2014 Stephan Fischli Dozent BFH, Software-Architekt ISC-EJPD Berner Fachhochschule Haute école spécialisée t bernoise Bern University of Applied Sciences
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
Objektorientierte 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/
Klausur: Java (Liste P)
Klausur: Java (Liste P) SS05 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen anzufertigen.
Übung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
LINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer [email protected]
LINQ LANGUAGE INTEGREATED QUERY.net 3.5 Bernhard Grojer [email protected] Agenda Übersicht LINQ Basistechnologien Verschiedene Arten von LINQ LINQ (to Objects) LINQ TO SQL Übersicht LINQ Aggregationen
Programmieren in Java
Programmieren in Java Vorlesung 10: Ein Interpreter für While Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1
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
Verteidigung gegen SQL Injection Attacks
Verteidigung gegen SQL Injection Attacks Semesterarbeit SS 2003 Daniel Lutz [email protected] 1 Inhalt Motivation Demo-Applikation Beispiele von Attacken Massnahmen zur Verteidigung Schlussfolgerungen 2
Themen. Web Service - Clients. Kommunikation zw. Web Services
Themen Web Service - Clients Kommunikation zw. Web Services Bisher: Implementierung einer Java Anwendung und Bereitstellung durch Apache Axis unter Apache Tomcat Java2WSDL Erzeugen einer WSDL-Datei zur
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
Richard Bubel & Martin Hentschel
Einführung in Software Engineering Übung 9: Design Patterns Richard Bubel & Martin Hentschel 31. Januar 2013 130131 TUD M. Hentschel 1 Aufgabe 9.1 (7 Punkte) Ziel: Entwurfsmuster verstehen und anwenden
Arten des universellen Polymorphismus
Arten des universellen Polymorphismus enthaltender Polymorphismus durch Untertypbeziehungen: Ersetzbarkeit: ev. unvorhersehbare Wiederverwendung kann Clients von lokalen Codeänderungen abschotten nicht
Übungsaufgabe Transaktion als Middleware
Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung
II.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
Datenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
Java 8. Programmiermethodik. Eva Zangerle, Nikolaus Krismer Universität Innsbruck
Java 8 Programmiermethodik Eva Zangerle, Nikolaus Krismer Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete
188.154 Einführung in die Programmierung Vorlesungsprüfung
Matrikelnummer Studienkennzahl Name Vorname 188.154 Einführung in die Programmierung Vorlesungsprüfung Donnerstag, 27.1.2005, 18:15 Uhr EI 7 Arbeitszeit: 60 min - max. 50 Punkte erreichbar - Unterlagen
Java Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
Klausur zur Vorlesung Datenbanksysteme I
Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe
Vorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Sommersemester 2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 10. Java: Datenhaltung mit Datenbanken 1 Datenbank-Programme Derby (Hersteller: Apache
3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)
3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
Datenbankanwendungsprogrammierung Crashkurs Java
Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung
Schnittstellen, Stack und Queue
Schnittstellen, Stack und Queue Schnittstelle Stack Realisierungen des Stacks Anwendungen von Stacks Schnittstelle Queue Realisierungen der Queue Anwendungen von Queues Hinweise zum Üben Anmerkung: In
BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio 16.04.2015 1/9
BTree.dll Realisiert mit Microsoft Visual Studio 16.04.2015 1/9 INHALT 1. Allgemein... 3 2. Class BTree1 (balanciert)... 3 3. Class BTree2 (balanciert und verkettet)... 4 4. Beschreibung BTree1 und BTree2...
http://www.tutego.com/ JdbcTemplate
http://www.tutego.com/ JdbcTemplate JdbcTemplate Die Klasse org.springframework.jdbc.core.jdbctemplateist zentral im JDBC-Paket von Spring. Die Klasse führt einfach SQL-Anweisungen aus liest Ergebnisse
Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1
Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur
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
Udo Matthias Munz. Datenbanken und SQL. mit. Einführung. Informationstechnik
Udo Matthias Munz Datenbanken und SQL mit Einführung Informationstechnik Zugriff auf eine Datenbank... 2 ODBC... 2 Eine DSN einrichten... 3 Verbindung zu einer Datenbank... 4 Datenbank... 4 Metadaten der
Java Reflection. Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff
Java Reflection Meta-Programmierung mit der java.lang.reflection API. Prof. Dr. Nikolaus Wulff Java Reflection Die Java Reflection API liefert per Introspection Informationen über Klassen => Meta-Daten.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen
Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18
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
Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren
Wie kommen die Befehle zum DBMS
Wie kommen die Befehle zum DBMS Dr. Karsten Tolle Datenbanken und Informationssysteme Wie kommen die Befehle zum DBMS Bisher gesehen: SQL direkt zum DBMS MySQL Workbench / HeidiSQL Kommandozeile Weitere?
11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
Praktikum Datenbanken und verteilte Systeme Sommersemester 2015
Sommersemester 2015 Tutorial 1 Datenbankzugriff für die Server-Anwendung 2 1.1 Squirrel SQL-Client 2 1.2 Java-Client mit JDBC unter Eclipse 2 2 Entwicklung einfacher Client-Server-Anwendungen 4 2.1 Entwicklung
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,
Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen
Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines
Java-Programmierung. Remote Method Invocation - RMI
Java-Programmierung Remote Method Invocation - RMI Entwicklungsmethoden Sockets Entwurf verteilter Anwendungen ist relativ aufwändig, da zunächst ein Kommunikationsprotokoll entwickelt werden muss aufwändig
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
Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein ([email protected].
Java Crashkurs Kim-Manuel Klein ([email protected]) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
Kapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
Datenbankzugriff mit JDBC
Java: Kapitel 8 Datenbankzugriff mit JDBC Programmentwicklung WS 2008/2009 Holger Röder [email protected] Überblick über Kapitel 8 Einführung in SQL und JDBC Verbindung zur Datenbank
Objektorientierte 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
Java 8. Lambdas und Streams
Java 8 Lambdas und Streams Inhalte 1. Teil: Lambda Ausdrücke Theoretische Grundlagen Lambdas in Action 2. Teil: Streams Fazit Funktionsweise Sequentiell vs Parallel Praktische Beispiele Teil 1 - Lambdas
