Programmieren in Java
|
|
- Mina Beyer
- vor 8 Jahren
- Abrufe
Transkript
1 Programmieren in Java Angelehnt an: The Java Tutorial from Sun Microsystems Hannes Reisinger - hare@tirol.com
2 Ziele und Pläne Grundlagen Schlüsselwörte und Sprachgrundlagen Programme lesbar schreiben und die der anderen Kursteilnehmer lesen können Paradigmen des Programmierens Grundbegriffe der OOP Kapselung Klassen Vererbung
3 Beispielanwendung JDK und Texteditor HelloWorldApp.java erstellen Kompilieren und ausführen \jdk1.3\docs\api\index.html
4 Beispielapplet HelloWorld.java und HelloWorld.html erstellen Kompilieren und ausführen import java.applet.applet; import java.awt.graphics; public class HelloWorld extends Applet init(), start(), paint(), stop() und destroy()
5 JavaDoc \jdk1.3\docs\tooldocs\win32\javadoc.html Kein /* Kommentar */ oder // Kommentar Sondern nur /** Kommentar "string" oder <a href="url">label</a> oder package.class#member version-text
6 Die Java Sprachumgebung Compiler Java Bytecode Plattform-abhängiger Interpreter
7 Die Java Plattform Java Application Programming Interface (Java API) Java Virtual Machine (Java VM)
8 Die Programmiersprache Java Simple Object oriented Distributed Interpreted Robust Secure Architecture neutral Portable High performance Multithreaded Dynamic
9 Nachteile konventioneller Programmiersprachen Keine eigenen Internetfunktionen Größe der ausführbaren Dateien Mangelnde Sicherheit Keine Unterstützung für unterschiedlichste Plattformen
10 Die Sprache Java erlernen OOP Konzepte Sprachgrundlagen Basisobjekte Klassen und Vererbung Schnittstellen und Packages
11 Prozedural - Objektorientiert Haupt- / Unterprogramme Mensch Auto Haus
12 Paradigmen des Programmierens Prozedurales Programmieren Entscheide, welche Prozeduren Du willst; verwende den besten Algorithmus, den Du kennst. Modulares Programmieren Entscheide, welche Module Du brauchst; zerlege das Programm so, daß die Daten in Module eingekapselt sind. Datenabstraktion Entscheide, welche Typen Du willst; stelle eine komplette Menge von Operationen für jeden Typ zur Verfügung. Objektorientiertes Programmieren Entscheide, welche Klassen Du brauchst; stelle für jede Klasse eine komplette Menge von Operationen zur Verfügung; mache Gemeinsamkeiten via Vererbung explizit.
13 Was zeichnet die Objekttechnologie aus? Vielzahl neuer Begriffe und Schlagworte Programm als Abbild der Wirklichkeit Zusammenfassung von Daten und der darauf wirkenden Operationen = Kapselung Entwicklung geschieht nicht revolutionär sondern evolutionär Fehlersicherheit Wiederverwendbarkeit höhere Produktivität
14 Vorraussetzungen dafür sind Analyse - Die relevanten Objekte der Realität herausfiltern und deren Kommunikation untereinander überlegen Design - Übersichtliche und auch für andere Problemstellungen zu verwendende Schnittstellen definieren und deren Gemeinsamkeiten in Form einer Hierarchie darstellen Entsprechend Analyse und Design die Klassen implementieren Ausgiebig testen und dokumentieren Solange man nicht zufrieden ist, wieder mit dem ersten Punkt beginnen
15 OOP Konzepte Objekt Nachricht Klasse Vererbung Schnittstelle Praktisches Beispiel ClickMe-Applet
16 Grundlegende Informationen zu Objekten Eigenschaften (attributes) Daten Methoden (methodes) Operationen zur Manipulation seiner eigenen Daten Nachrichten (messages) Werden zur Kommunikation untereinander benötigt Rufen die entsprechenden Methoden auf Unterscheidung: class - instance Unterscheidung: message - methode Vererbung (inheritance)
17 Sprachgrundlagen Variablen Operatoren Ausdruck, Anweisung und Blöcke Kontrollstrukturen
18 Regeln für Bezeichner (unter anderem auch Variablennamen) (siehe Java Language Specification "3.8 Identifiers") Bezeichner müssen mit einem Buchstaben (A..Z, a..z) oder einem Unterstrich (_) oder einem Dollarzeichen ($) beginnen. Zu testen über Character.isJavaIdentifierStart() Auf dieses erste Zeichen können weitere Buchstaben, Ziffern (0..9) und Unterstriche und Dollarzeichen folgen. Zu testen über Character.isJavaIdentifierPart() Bezeichner können beliebig lang sein. Zwischen Groß- und Kleinschreibung wird unterschieden. In Java stellen also Index, INDEX und index drei verschiedene Bezeichner dar, die nichts miteinander zu tun haben. Schlüsselwörter (wie z.b. for oder while) können nicht als Bezeichner verwendet werden. Auch true, false und null sind nicht erlaubt.
19 Arbeitsblatt - Variablennamen Entscheiden Sie bitte, welche der angeführten Variablennamen gültig sind, welche nicht, und welche Ihnen ungünstig erscheinen (bitte mit einer kurzen Notiz). Um eine Liste der Schlüsselwörter (Keywords) zu erhalten (die ja nicht als Variablennamen verwendet werden dürfen) siehe Java Language Specification "3.9 Keywords" 1. var_ ste_var 3. _zaehler 4. _zähler 5. karl_der_grosse 6. karl_der_große 7. vier_*_5_ist_20 8. c 9. marathonlaufteilnehmername 10. marathon_lauf_teilnehmer_name 11. MarathonLaufTeilnehmerName 12. int 13. char 14. INT 15. return 16. do 17. DO_WHILE_SCHLEIFE 18. _ 19.
20 Datentypen elementare Datentypen Referenztypen boolean Numerische Werte class Ganze Zahlen Gleitkommazahlen interface Array signed unsigned float (32 Bit) String byte (8 Bit) char (16 Bit) double (64 Bit) short (16 Bit) int (32 Bit) long (64 Bit)
21 Erste Operatoren Der Vorrang und die Assoziativität der Operatoren ist in der LangSpec 15.7 Evaluation Order festgehalten. Wertzuweisungen = plus die Zuweisungsoperatoren Arithmetische Operatoren +, -, *, /, % (%... Rest nach ganzzahliger Division - Modulo) Erste Zuweisungsoperatoren +=, -=, *=, /=, %= Vergleichsoperatoren (Relationale Operat.) ==,!=, <, <=, >, >= Verknüpfungsoperatoren (Logische Operat.) && (AND), (OR),! (NOT), ^ (XOR)
22 Kontrollstrukturen (siehe LangSpec 14 Blocks and Statements) Bedingungen if-else?: Auswahl else-if switch Schleifen while (Schleife mit Eintrittsbedingung) for (Zählschleife) do-while (Schleife mit Austrittsbedingung)
23 Weitere Operatoren Unäre Operatoren +, -, ++, -- Bitmanipulationen << (shift left), >> (shift right), >>> (shift right), & (AND), (OR), ^ (XOR), ~ (NOT) (~ ist ein unärer Operator) Weitere Zuweisungsoperatoren <<=, >>=, >>>=, &=, =, ^= Diverse andere Operatoren?:, (), [],., (type), new, instanceof
24 Lebenszyklus eines Objekte Deklarieren einer Variablen (Referenzvariablen) Erzeugung eines Objekts Initialisieren des Objekts mit dem Konstruktor Das Objekt der (Referenz-)Variablen zuweisen Das Objekt über die Referenzvariable und den Operator '.' verwenden Zerstörung durch die Garbage Collection protected void finalize() throws Throwable
25 Zugriffsrechte Bezeichner class subclass package world private X protected X X X public X X X X package X X
26 Basisobjekte Typ name = new Typ(Parameter); String und StringBuffer Nummern (Basisklasse: Number) Byte, Short, Integer, Long, Float, Double BigInteger, BigDecimal Math Array
27 Formatierungen java.text.numberformat getnumberinstance() format() java.text.decimalformat applypattern() java.text.decimalformatsymbols DecimalFormat() - Konstruktor DecimalFormat.setDecimalFormatSymbols()
28 Klasse und Schnittstelle jdk1.3\tutorial\java\javaoo\classes.html Innere Klassen jdk1.3\tutorial\java\javaoo\innerclasses.html Schnittstellen und Pakete jdk1.3\tutorial\java\interpack\index.html
29 Vererbung Abgeleitete Klassen public class a { /*... */ } public class b extends a { /*... */ } Abstrakte Klassen public abstract class c { /*... */ }
30 Objekte, Daten, Funktionen und der Speicher public class Bsp { int m_i1, m_i2; void f1() {} void f2() {} };... main(...) { Bsp var1=new Bsp(), var2=new Bsp(), var3=new Bsp(); var3.f1(); var1.f2(); } var1 var2 var3 m_i1 m_i2 m_i1 m_i2 Funktionen der Klasse Bsp Bsp.f1 m_i1 m_i2 Bsp.f2
31 Statische im Vergleich zu automatischen Elementvariablen public class Bsp { int m_i1 = 1; int m_i2 = 2; static int s_i = 3; void print() {} }... main(...) { Bsp var1=new Bsp(), var2=new Bsp(), var3=new Bsp(); } var1 var2 var3 m_i1 m_i2 m_i1 m_i2 Klassenvaraible der Klasse Bsp m_i1 m_i2 Bsp.s_i
32 Implementierung von Klassen - 1 public class B { private int m_i1; protected int m_i2; public int m_i3; public static int s_i; public void bf(); } public class C extends B { private int m_i4; public void cf(); } B-> B, C-> B.m_i1 B.m_i2 B.m_i3 B.m_i1 B.m_i2 B.m_i3 C.m_i4
33 Implementierung von Klassen - 2 B-> B.m_i1 B.m_i2 B.m_i3 B, C-> B.m_i1 B, D-> B.m_i1 B, D, E-> B.m_i1 B.m_i2 B.m_i2 B.m_i2 B.m_i3 B.m_i3 B.m_i3 C.m_i4 D.m_i5 D.m_i5 E.m_i6
34 Implementierung von Klassen - 3 public class X { public void fa() {} public void fb() {} } public class Y extends X { public void fa() {} public void fc() {} } X-> Y-> X::vfptr X.m_... Y::vfptr X.m_... Y.m_... X.fa X.fb Y.fa X.fb Y.fc public class Z extends Y { public void fa() {} public void fc() {} public void fd() {} } Z-> Z::vfptr X.m_... Y.m_... Z.m_... Z.fa X.fb Z.fc Z.fd vfptr... virtual function pointer
35 Wichtige Java Klassen java.util.properties java.lang.system java.lang.securitymanager java.lang.throwable, java.lang.exception usw. java.io.* Reader, Writer, InputStream, OutputStream usw. java.lang.thread und entsprechende Klassen
36 java.util.properties
37 java.lang.system Alle Methoden und Variablen sind static Standard I/O Streams (in, out, err) System Properties Eigener SecurityManager java.lang.runtime
38 Ausnahmebehandlung - Exceptionhandling java.lang.throwable java.lang.error (nicht fangen) java.lang.exception (zu fangen) java.lang.runtimeexception (muß nicht deklariert werden) try { throw new DerivedException("Hallo"); } catch ( DerivedException e ) { } catch ( Exception e ) { } finally {} Reihenfolge wichtig
39 Threads
40 Varianten von Threads Timer und TimerTask Klasse von Thread ableiten und run() überladen Wenn eine Klasse schon abgeleitet ist, dann das Interface Runnable mit der Methode run() implementieren Schlüsselwort synchonized Thread.yield() für kooperatives Multitasking
41 Arbeitsblatt Object.wait() und Object.notify() Fabrik => Lager => Auslieferung Eine Fabrik produziert Waren. Diese werden in ein Lager geliefert. Dieses Lager kann drei dieser Waren aufnehmen. Die Auslieferung holt die Ware, die im Lager ist heraus und liefert sie aus. Ist die Fabrik schneller als die Auslieferung, so muß die Fabrik warten. Ist die Auslieferung schneller, so muß die Auslieferung warten.
42 Standard Ein-/Ausgabe System.in, System.out, System.err Ausgabemethoden (System.out, System.err) print() und println() Einlesemethoden (System.in) BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); String str = in.readline();
43 Java.io.* Streams die mit Bytes arbeiten Lesend: InputStream Schreibend: OutputStream Streams die mit Buchstaben arbeiten Lesend: Reader Schreibend: Writer
44 Bytes in/aus Datensenken java.io.inputstream ByteArrayInputStream FileInputStream PipedInputStream StringBufferInputStream java.io.outputstream ByteArrayOutputStream FileOutputStream PipedOutputStream
45 Bytes verarbeitende Streams java.io.inputstream FilterInputStream BufferedInputStream DataInputStream LineNumberInputStream PushbackInputStream ObjectInputStream SequenceInputStream java.io.outputstream FilterOutputStream BufferedOutputStream DataOutputStream PrintStream ObjectOutputStream
46 Buchstaben in/aus Datensenken java.io.reader java.io.chararrayreader java.io.filereader java.io.pipedreader java.io.stringreader java.io.writer java.io.chararraywriter java.io.filewriter java.io.pipedwriter java.io.stringwriter
47 Buchstaben verarbeitende Streams java.io.reader java.io.bufferedreader java.io.linenumberreader java.io.filterreader java.io.pushbackreader java.io.inputstreamreader java.io.writer java.io.bufferedwriter java.io.filterwriter java.io.outputstreamwriter java.io.printwriter
48 java.util.* java.util.date und java.util.calendar java.util.observable und java.util.observer java.util.random java.util.zip.* und java.util.jar.*
49 Collections Framework
50 java.awt.component
51 LayoutManager BorderLayout CardLayout FlowLayout GridLayout GridBagLayout GridBagConstraints
52 Events und Listeners add*listener() Adapter und innere Klassen
53 java.awt.menucomponent
54 JFC - Java Foundation Classes Swing Components Pluggable Look and Feel Support Accessibility API Java 2D API (Java 2 Platform only) Drag and Drop Support (Java 2 Platform only)
55 Unterstützende Technologien setaccessiblename() wenn kein kurzer Text settooltiptext() or setaccessibledescription() JButton.setMnemonic() ImageIcon.setDescription() JLabel.setLabelFor()
56 Arbeitsblatt Grafische Darstellung des Beispiels Fabrik => Lager => Auslieferung Mit einem Knopf soll die Fabrik eine Ware in das Lager einfügen Der Füllstand des Lagers soll dargestellt werden Zuerst als Text, wenn Zeit ist, mit Symbolen Mit einem weiteren Knopf soll die Auslieferung eine Ware aus dem Lager entnehmen
57 JDBC - Datenbank Zugriff DRIVER = "sun.jdbc.odbc.jdbcodbcdriver"; Class.forName(DRIVER); URL2DB = "jdbc:odbc:personen"; DriverManager.getConnection(URL2DB); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select * FROM Person"); rs.getstring(indexornameofcolumn);
58 Bei Java-kompatiblen Browsern liefert der Server die fehlenden Objekt-Viewer oder anderen Programmcode einfach nach. Browser Netzwerk Server Benutzer fordert Objekt an Browser versteht den Objekttyp nicht Darstellung des Objekts Objekt Java-Code zur Objektdarstellung
Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrProgrammieren I. Kapitel 15. Ein und Ausgabe
Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random
MehrDie Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
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
MehrProgrammieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)
Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und
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
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
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
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/
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 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
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
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
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:
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:
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.
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
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,
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
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:
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
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
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
MehrListe Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads 11 GUI-Programmierung
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
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
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.
MehrAlexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv
Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java G bhv Inhaltsverzeichnis Vorwort 11 Einleitung 13 Lernen - Üben 13 Über dieses Buch 14 Ш11ШШШШ '. ш Ш Java 19 Die Geschichte
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
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)
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
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
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
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:
MehrWillkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java
Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrJDBC. 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
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
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
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
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
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-
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.
MehrJava 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
MehrProgrammieren in Java
Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang
MehrInhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1
Inhaltsverzeichnis Grundlagen und Einführung (1. Band) 1 1 Einleitung und Vorwort 1 1.1 Vorwort zur 13. Auflage....................... 1 1.2 Vorwort zur 10. Auflage....................... 1 1.3 Voraussetzungen...........................
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
MehrJava 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.
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:
MehrObjektorientierte Programmierung OOP
Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte
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
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
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
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
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,
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
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
MehrProgrammieren 2 Selbststudium Semesterwoche 6
Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
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,
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()
MehrWorkshop 6. Einführung in die objektorientierte Programmierung. Teil: Java mit BlueJ
IBBB 2010 Workshop 6 Einführung in die objektorientierte Programmierung Dozenten: J. Penon, J. Frank, A. Schindler Teil: Java mit BlueJ Dozent: A. Schindler Einf. i. d. OOP - Java u. BlueJ / A. Schindler
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........................
MehrE-PRIME TUTORIUM Die Programmiersprache BASIC
E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete
MehrClient-Server-Beziehungen
Client-Server-Beziehungen Server bietet Dienste an, Client nutzt Dienste Objekt ist gleichzeitig Client und Server Vertrag zwischen Client und Server: Client erfüllt Vorbedingungen eines Dienstes Server
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
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
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
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
MehrKapitel 12 Dokumentation und Zugriffsrechte
Kapitel 12 Dokumentation und Zugriffsrechte Seite 1 / 6 Kapitel 12 Dokumentation und Zugriffsrechte Lernziele: Dokumentation mit Hilfe von Javadoc Datenkapselung über Zugriffsrechte 12.1 Dokumentation
MehrOracle: 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
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrPrinzipien der Softwareentwicklung S. Strahringer
Gliederung 1 Einführung Was ist ein Programm? Vorteile (und Nachteile) von PHP Erste PHP-Programme Ausführung von PHP-Programmen 2 Grundbegriffe der Programmierung Anweisungen, Variablen, Datentypen und
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
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
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
MehrTest zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003
Test zu Grundlagen der Programmierung Leitung: Michael Hahsler 1. November 00 Name Martrikelnummer Unterschrift Bitte kreuzen Sie das Studium an, für das Sie diese Prüfung ablegen: O Bakkalaureat Wirtschaftsinformatik
MehrAusnahmen. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik
Ausnahmen Zentralübung zur Vorlesung http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arten von Fehlern Auslösen von Ausnahmen Vermeiden von Ausnahmen Ausnahmeklassen
Mehr1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
Mehr4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen
4 Objektorientierte Programmierung mit Java 4.1 Java-Grundlagen Highlights: objektorientierte Sprache Plattformunabhängigkeit bei Hardware und Betriebssystem optimale Einbindung im Internet und Intranet
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
MehrProseminar C-Programmierung. Strukturen. Von Marcel Lebek
Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11
MehrJava Einführung Abstrakte Klassen und Interfaces
Java Einführung Abstrakte Klassen und Interfaces Interface Interface bieten in Java ist die Möglichkeit, einheitliche Schnittstelle für Klassen zu definieren, die später oder/und durch andere Programmierer
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrProgrammiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,
MehrObjektorientiertes JavaScript
Objektorientiertes JavaScript Christoph Fabritz dm121506@fhstp.ac.at http://goo.gl/jzqxnw Inhalt JavaScript Objektorientierung OO in JavaScript Literatur JavaScript Interpretiert / gescriptet Dynamische
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
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
MehrApplets I. Grundlagen der g Applet-Programmierung
Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung
MehrVorkurs Informatik WiSe 15/16
Java 1 Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 12.10.2015 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello! 12.10.2015 Dr. Werner Struckmann / Stephan
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
MehrÜbungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag
Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrLö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
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrCORBA. Systemprogrammierung WS 2006-2007
CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
Mehr