Vorlesung Informatik B
|
|
- Hildegard Breiner
- vor 7 Jahren
- Abrufe
Transkript
1 Vorlesung Informatik B Inhalt (Planung) 1 Grundlegende OO Konzepte (Fundamental Concepts) 2 Grundlagen der Software Entwicklung 3 Wichtige OO Konzepte (Major Concepts) 4 Zusätzliche OO Konzepte (Minor Concepts) 5 Klassenbibliotheken 6 Grafische Benutzeroberflächen 7 Netzwerkprogrammierung... Jun. Prof. Dr. E. Pulvermüller Folie 2 Informatik B Sommersemester 09
2 1 Grundlegende OO Konzepte Inhalt 1.1 Objekte, Klassen, Instanzen im Programm (Java) 1.2 Konzepte und UML Darstellung 1.3 Identität 1.4 Sichtbarkeitsbereiche (Scoping) 1.5 Parameter und Rückgabewerte 1.6 Überladen von Methoden 1.7 Spezielle Methoden 1.8 Gleichheit bzw. Identität von Objekten 1.9 Klasseneigenschaften Jun. Prof. Dr. E. Pulvermüller Folie 3 Informatik B Sommersemester 09
3 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften In Java gibt es keine globalen Funktionen oder globale Variablen Manchmal möchte man Variablen oder Operationen haben, die nicht an Objekte einer Klasse gebunden sind: - Klassenvariablen oder attribute (= class scope attribute): existiert pro Klasse einmal; alle Objekte teilen sich die Variable Zugriff: Klassenname.Variablenname - Klassenmethoden: Zugriff: Klassenname.Methodenname In Java mit Hilfe des Modifikators static Jun. Prof. Dr. E. Pulvermüller Folie 4 Informatik B Sommersemester 09
4 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Beispiel Klassenattribut: Zählen der von einer Klasse erzeugten Instanzen public class Person { static int objno = 0; public String name; public static void main(string[] args) { } Person() { name = dummy ; ++objno; } protected void dying() { --objno; } } Person p1 = new Person(); Person p2 = new Person(); System.out.println( No: + Person.objNo); p2.dying(); System.out.println( No: + Person.objNo); Jun. Prof. Dr. E. Pulvermüller Folie 5 Informatik B Sommersemester 09
5 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Beispiel Klassenattribut: Deklaration von Konstanten (für alle Instanzen der Klasse) public class Person { public static final int ANZAHLOHREN = 2;... } Lebensdauer überdauert die einzelnen Instanzen (erstreckt sich über das gesamte Programm) Unveränderliche Variable (Konstante): Keine Wertänderung während der Programmausführung möglich Großschreibung als Konvention für Konstanten (kommt aus der Sprache C) Jun. Prof. Dr. E. Pulvermüller Folie 6 Informatik B Sommersemester 09
6 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Beispiel Klassenoperation: Verwendung von sqrt in der Klasse Math: public static void main (String[] args) { double x =4.0d; } System.out.println( Quadratwurzel ist: + Math.sqrt(x)); Jun. Prof. Dr. E. Pulvermüller Folie 7 Informatik B Sommersemester 09
7 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften z.b. in Klassenbibliotheken - System ( Toolbox, zur Kommunikation mit dem Betriebssystem z.b. Funktionen für den Aufruf des Garbage Collectors oder das Beenden des Programms) - Math (Funktionen zur Fließkommaarithmetik) Besonderheiten von Klassenmethoden: - kein Zugriff auf Instanzvariablen (Unabhängigkeit zum konkreten Objekt) - this-referenz unbekannt - beides wird bei der Übersetzung vom Compiler als Fehler erkannt Jun. Prof. Dr. E. Pulvermüller Folie 8 Informatik B Sommersemester 09
8 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Statische Konstruktoren (Klasseninitialisierer) Ähnlich wie die schon bekannten Konstruktoren, jetzt aber Initialisierung von Klassenattributen Der statische Konstruktor wird einmal zu Programmbeginn (Klassen laden) aufgerufen (statt bei Instanziierungen) class Test { static int i; static int j; } static { i = 5; j = 3 + i; } statischer Konstruktor mit Name static Ohne Parameter, da keine benutzerdefinierten Parameter möglich sind (Aufruf zur Klassenladezeit durch die Java Virtual Machine) Jun. Prof. Dr. E. Pulvermüller Folie 9 Informatik B Sommersemester 09
9 1 Grundlegende OO Konzepte 1.9 Klasseneigenschaften Darstellung in UML: Person ANZAHLOHREN:int kinder:kind [0..*] name:string = Noname /alter Abgeleitetes Attribut (derived) wird berechnet; darf nicht geändert werden Klassenvariable (Großschreibung hier nicht gefordert) Multiplizität (multiplicity) / Attribut kinder hier optional Initialwert (inital value) Darstellung für Klassenmethoden analog zu Klassenattributen Jun. Prof. Dr. E. Pulvermüller Folie 10 Informatik B Sommersemester 09
10 1 Grundlegende OO Konzepte Überblick über die Grundbegriffe der Objektorientierung Minor Concepts: Typing Concurrency Polymorphism Persistence Major Concepts: Relations between Classes (and Objects) Abstraction, Encapsulation / Information Hiding Modularity and Hierarchy Fundamental: Class, Instance, Object [Boo94] G. Booch. Object-Oriented Analysis and Design, 2nd. Edition, Benjamin/Cummings, Redwood City, CA, 1994 Jun. Prof. Dr. E. Pulvermüller Folie 11 Informatik B Sommersemester 09
11 2 Inhalt 2.1 Die Programmiersprache Java 2.2 Vom Programm zur Maschine 2.3 Abstraktion von der Plattform Jun. Prof. Dr. E. Pulvermüller Folie 12 Informatik B Sommersemester 09
12 2.1 Die Programmiersprache Java Entwicklung der Programmiersprachen Jun. Prof. Dr. E. Pulvermüller Folie 13 Informatik B Sommersemester 09
13 2.1 Die Programmiersprache Java Entwicklung der Programmiersprachen Jun. Prof. Dr. E. Pulvermüller Folie 14 Informatik B Sommersemester 09
14 2.1 Die Programmiersprache Java Java Entwicklung: - 90iger Jahre: Programmiersprache für Consumer Geräte, Set-Top-Boxen, Netzwerk-Anwendungen - heute: hauptsächlich zur Realisierung Internetbasierter / verteilter Anwendungen - OpenJDK ( als Basis von Java 7: endgültige Freigabe als Open Source-Lizenz GPL 2 breite Industrieunterstützung für Java Sun, Apache Software Foundation, BEA, IBM, Oracle, (Microsoft) Konkurrent: C#, C++ Jun. Prof. Dr. E. Pulvermüller Folie 15 Informatik B Sommersemester 09
15 2.1 Die Programmiersprache Java / _ha_CZ.html?thes=8007,8008,10228,10232&tp=/ausrichtungen/prozesse Jun. Prof. Dr. E. Pulvermüller Folie 16 Informatik B Sommersemester 09
16 2.1 Die Programmiersprache Java Java ist konzipiert als eine... - einfache und kleine - objektorientierte - dezentrale - interpretierte - stabil laufende - architekturneutrale [plattformunabhängig] - portierbare - dynamische Sprache, die Hochgeschwindigkeitsanwendungen und Multithreading unterstützt (nach SUN Microsystems) Jun. Prof. Dr. E. Pulvermüller Folie 17 Informatik B Sommersemester 09
17 2.1 Die Programmiersprache Java Java-Applets - in Web-Seiten eingebettet - in der Laufzeit-Umgebung von Web-Browsern ausgeführt - aus Sicherheitsgründen eingeschränkte Rechte Java-Applikationen - von Kommandozeile oder als Anwendung gestartet - volle Rechte einer eigenständigen Anwendung Programmierung von Applets und Applikationen ist ähnlich zueinander Jun. Prof. Dr. E. Pulvermüller Folie 18 Informatik B Sommersemester 09
18 2.1 Die Programmiersprache Java Java Development Kit (JDK) - kostenlose Java-Entwicklungsumgebung von Sun/Oracle java javac Klassenbibliothek + JVM + Compiler + Tools - zur Java-Entwicklung reichen prinzipiell Text-Editor und JDK integrierte Entwicklungsumgebung (Integrated Development Environment = IDE) kommerziell: - Borland JBuilder (CodeGear),... frei: - Eclipse (IBM/Konsortium), - NetBeans (Sun), - BlueJ ( Jun. Prof. Dr. E. Pulvermüller Folie 19 Informatik B Sommersemester 09
19 2.1 Die Programmiersprache Java Java Entwicklungswerkzeuge javac Java Compiler (javac Example.java) java Java-Interpreter (Java Application Launcher) (java Example) appletviewer Applet-Viewer (appletviewer Example.html) javadoc Dokumentationswerkzeug (API Documentation Generator) (javadoc Example.java) jdb Textmode-Debugger (Java Application Debugger) (jdb Example) javap Disassembler (Class File Disassembler) (javap Example) javah C Header and Stub File Generator (javah Example) jar JAR Archive Tool... und andere Jun. Prof. Dr. E. Pulvermüller Folie 20 Informatik B Sommersemester 09
20 2.1 Die Programmiersprache Java Java Runtime Environment (JRE) - Untermenge des JDK JRE java javac Klassenbibliothek + JVM + Compiler + Tools - benötigt, um Java Applikationen auszuführen - darf ohne Lizenzgebühren eigenen Produkten beigefügt werden Java Virtual Machine (JVM) - Teil des JRE, der Bytecode (in den.class Dateien) interpretiert und ausführt -.class Dateien werden bei Bedarf geladen und interpretiert - oder just in time in Maschinensprache der Zielplattform übersetzt Jun. Prof. Dr. E. Pulvermüller Folie 21 Informatik B Sommersemester 09
21 2.2 Vom Programm zur Maschine Allgemeiner Ablauf: Transformation: (Präprozessor, Übersetzer, Compiler, Assemblierer, Linker, Loader) Assembler File HelloWorld... main: pushl %ebp movl %esp,%ebp subl $4,%esp call printf addl $8,%esp... Interpretation auf der Firmware Hardware, el. Schaltkreise Prozessor R1 Quelltext: HelloWorld Maschinencode: das sieht der Prozessor (HelloWorld) R2 T1 R4 +5 V x1 x2 Tv Tp D y = (x1 x2) T2 R3 0 V Jun. Prof. Dr. E. Pulvermüller Folie 22 Informatik B Sommersemester 09
22 2.2 Vom Programm zur Maschine Ablauf am Beispiel Java: 1) Programmierung: Entwickler schreibt Quelltext (Source Code) javac.java Dateien (z.b. Person.java) Compiler 2) Kompilierung: Übersetzer/Compiler übersetzt Quellcode in Binärcode (Java- Binärcode = Bytecode) menschenlesbare Darstellung (Mnemonic) javap java.class Dateien (z.b. Person.class) Hex Darstellung JVM Interpreter 3) Java Virtual Machine interpretiert Bytecode, führt ihn aus Applikation in Ausführung Jun. Prof. Dr. E. Pulvermüller Folie 23 Informatik B Sommersemester 09
23 2.1 Die Programmiersprache Java Plattformunabhängigkeit Quelltext - Bytecode ist plattformunabhängig Compiler Bytecode - JVM existieren für verschiedene Plattformen kompilierte Programme auf verschiedenen Plattformen ausführbar Jun. Prof. Dr. E. Pulvermüller Folie 24 Informatik B Sommersemester 09 Unix JVM Win JVM MacOS JVM IBM Mainframe Dell Laptop Macbook
24 2.2 Vom Programm zur Maschine Compilation: versus Interpretation: Quellprogramm Quellprogramm Compiler Zielprogramm (Maschinensprache) Interpreter Ausführung Ausführung Jun. Prof. Dr. E. Pulvermüller Folie 25 Informatik B Sommersemester 09
25 2.2 Vom Programm zur Maschine Wie macht es Java? Quellprogramm Quellprogramm Compiler Zielprogramm (Byte Code) (Maschinensprache) Ausführung Interpreter Ausführung Jun. Prof. Dr. E. Pulvermüller Folie 26 Informatik B Sommersemester 09
26 2.2 Vom Programm zur Maschine Wie macht es Java? Quellprogramm Compiler Zielprogramm: Byte Code Maschinensprache eines Spezialprozessors: PicoJava Jun. Prof. Dr. E. Pulvermüller Folie 27 Informatik B Sommersemester 09
27 2.2 Vom Programm zur Maschine Vom Programm auf die Virtuelle Maschine und umgekehrt [Bill Venners, The Java Virtual Machine] class Act { public static void domathforever() { int i = 0; for (;;) { i += 1; i *= 2; } } } javac Disassembly 0 iconst_0 // 03 1 istore_0 // 3b 2 iinc 0, 1 // iload_0 // 1a 6 iconst_2 // 05 7 imul // 68 8 istore_0 // 3b 9 goto 2 // a7 ff f9 javap Bytecode stream: 03 3b a b a7 ff f9 (hexadezimale Darstellung) Jun. Prof. Dr. E. Pulvermüller Folie 28 Informatik B Sommersemester 09
28 2.2 Vom Programm zur Maschine Bytecode zum Weiterlesen: Jun. Prof. Dr. E. Pulvermüller Folie 29 Informatik B Sommersemester 09
29 2.3 Abstraktion von der Plattform Abstraktion in Java Java Programm (Anwendungsprogramm) Java API Java Virtual Machine (JVM) Laufzeitsystem Betriebssystem JVM zum Weiterlesen: Tim Lindholm, Frank Yellin: The Java TM Virtual Machine Specification, Second Edition Online frei verfügbar: Jun. Prof. Dr. E. Pulvermüller Folie 30 Informatik B Sommersemester 09
30 2.3 Abstraktion von der Plattform Abstraktion von der Plattform Java Programm Java API Java Virtual Machine (JVM) Systemprogramme, z.b. vi Systemaufrufschnittstelle (System Call Interface) Betriebssystem (Operating System) Verwaltung der Ressourcen (z.b. Speicher, Dateien, I/O, Benutzer, Prozesse) Maschinensprache Mikroprogramme Physikalische Geräte (CPU, Speicher,...) Treiber Sicherheit durch kontrollierende JVM Zwischenschicht Jun. Prof. Dr. E. Pulvermüller Folie 31 Informatik B Sommersemester 09
31 2.3 Abstraktion von der Plattform Programm javac java int i = 99; A obja = new A();... API JVM Garbage Collector Betriebssystem (BS) Prozess N Jun. Prof. Dr. E. Pulvermüller Folie 32 Informatik B Sommersemester 09
32 2.3 Abstraktion von der Plattform Systemressource Prozess (vom Betriebssystem verwaltet) Prozesse (Processes / Tasks): die ausführbaren / ausgeführten Programme auf einem Rechner - Multi-Processing vs. Single-Processing - Multi-User vs. Single-User Prozesszustände: 1 (just) created 2 runnable execute on CPU 4 blocked 6 Zombie suspended 8 Jun. Prof. Dr. E. Pulvermüller Folie 33 Informatik B Sommersemester 09
33 2.3 Abstraktion von der Plattform Systemressource Prozess Prozesse (Processes / Tasks): die ausführbaren / ausgeführten Programme auf einem Rechner - Prozesse besitzen eigene Speicherbereiche (Adressräume) für Daten und Code. - Prozesse besitzen Zugriffsrechte (Access Rights) auf Ressourcen wie Dateien oder Netzwerkverbindungen. - Prozesse haben Verwaltungsinformationen über ihren Zustand, z.b. Priorität und Ablaufzustand. - Das Betriebssystem hält in einer Prozesstabelle (Process Table) alle Prozesse gespeichert (Process ID, pid) und steuert den Ablauf der Prozesse. Jun. Prof. Dr. E. Pulvermüller Folie 34 Informatik B Sommersemester 09
34 2.3 Abstraktion von der Plattform - einem Prozess ist ein Speicherbereich zugeordnet = Adressraum eines Prozesses - Der Adressraum eines Prozesses (Speichermodell) besteht aus: Datensegment, Programmsegment und dem Stack (Stapelspeicher) Stack kurzfristige Speicherung (push/pop) empty Prozess N Data Segment Text Segment längerfristige Speicherung Änderung nur in Ausnahmenfällen Jun. Prof. Dr. E. Pulvermüller Folie 35 Informatik B Sommersemester 09
35 2.3 Abstraktion von der Plattform Speicherbedarf für: - die Speichervariablen gemäß Datentyp - das Programm / den Programmtext Speicherverwaltung für Prozesse durch das Betriebssystem (UNIX Speichermodell) Systemspeicher... B-Stack B-Data B-Text A-Stack A-Data A-Text OS Stack empty Data Segment (== Heap) Text Segment Prozessadressraum = Programmspeicher verwaltet durch die Programmiersprache (Laufzeitumgebung bzw. Virtual Machine) Jun. Prof. Dr. E. Pulvermüller Folie 36 Informatik B Sommersemester 09
Java: Kapitel 1. Überblick. Programmentwicklung WS 2008/2009. Holger Röder Holger Röder
Java: Kapitel 1 Überblick Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Was ist Java? Die Java-Technologie umfasst die Programmiersprache Java sowie die Java-Plattform
MehrGrundlagen der Informatik für Ingenieure I
2 Java: Java-Einführung 2 Java: Java-Einführung 2.1 Java-Entwicklungsgeschichte 2.2 Java Eigenschaften 2.3 Java-Entwicklungsumgebung 2.4 Application vs. Applet 2.5 Ein erstes Programm 2.1 2.1 Java - Entwicklungsgeschichte
MehrJ.5 Die Java Virtual Machine
Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class
MehrSkript Informatik B. Objektorientierte Programmierung in Java
Skript Informatik B Objektorientierte Programmierung in Java Sommersemester 2011 - Teil 2 - Copyright, 2010 2012, Elke Pulvermüller Inhalt 0 Einleitung 1 Grundlegende objektorientierte Konzepte 2 Grundlagen
MehrVorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
MehrBerner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi 06.09.10 1
Kapitel 1 Einstieg in Java Dr. Elham Firouzi 06.09.10 1 1 : Einstieg in Java Einleitung Ein erstes Beispiel Berner Fachhochschule Entwicklung von Java-Programmen Applikationen Applets Vor und Nachteile
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:
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dr. Thomas Scheidl Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz scheidl@pervasive.jku.at Java Einführung Java
MehrÜbung Softwareentwicklung 1, WS0910 Gemeinsame Einführung
Übung Softwareentwicklung 1, WS0910 Gemeinsame Einführung Informatik, Informationselektronik, Wirtschaftsinformatik, Lehramt Informatik, Chemie, etc. Dipl.-Ing. Institute for Pervasive Computing Johannes
MehrKapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software
MehrProgrammieren I. Die Programmiersprache Java. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Programmiersprachen, Übersicht 2 Quelle: heise.de W. Geiger, W. Süß, T. Schlachter, C.
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software
MehrJava für C++ Programmierer
Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?
MehrProgrammierkurs. Manfred Jackel
Java für Anfänger Teil 1: Intro Programmierkurs 12.-16.10.2009 10 2009 Manfred Jackel 1 1. Handwerkszeug Notwendige Software Java Runtime Environment JRE 6 von http://java.sun.com/javase/downloads/index.js
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
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,
MehrPhilipp Güttler Objektorientierung und komplexe Datentypen
Philipp Güttler 23.04.2008 Objektorientierung und komplexe Datentypen Seite 2 Was bedeutet objekt-orientiert? Programmierung ist die Umsetzung von Sachverhalten und Aufgaben Zusammenfassen und Aufteilen
MehrEinführung in JAVA. Viele Höhen und Tiefen Java war schon einmal nahezu tot. Heute extrem weit verbreitet vom Supercomputer bis hin zum Handy.
Small History Machine Virtual Machine (VM) Komponenten der VM Entwicklungswerkzeuge JDK Woher bekommt man JDK Wie installiert man JDK Wie benutzt man JDK Entwicklungsumgebungen Java 23. May 1995: John
MehrKapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik
Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen
MehrEinführung zu den Übungen aus Softwareentwicklung 1
Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
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
Mehr1. Java Grundbegriffe
1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine
MehrJava - Einführung in die Programmiersprache. Leibniz Universität IT Services Anja Aue
Java - Einführung in die Programmiersprache Leibniz Universität Anja Aue Handbücher am RRZN Programmierung. Java: Grundlagen und Einführung Java: Fortgeschrittene Techniken und APIs Java und XML Java -
MehrJava für Anfänger Teil 1: Intro. Programmierkurs 11.-15.10.2010 Manfred Jackel
Java für Anfänger Teil 1: Intro Programmierkurs 11.-15.10.2010 Manfred Jackel 1 1. Handwerkszeug Eclipse Workbench mit Java-Compiler Java Runtime Environment Notwendige Software Java Runtime Environment
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Entstehung von Java 1991 entwickeln Mike Sheridan, James
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrJava-Einführungskurs Informatik II (D-ITET) Vincent Becker,
Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie
MehrComputeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software
Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme
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 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe
MehrAbschnitt 1: Einführung
Abschnitt 1: Einführung 1. Einführung 1.1 Historischer Überblick: Objektorientierte Programmiersprachen 1.2 Java Erste Schritte 1.3 Kommentare in Java 1 Einführung Informatik 2 (SS 07) 10 Überblick 1.
MehrEmpfehlenswerte Literatur
Empfehlenswerte Literatur 1 Flanagan, David: Java in a Nutshell, O Reilly, UK, 2002 (50 ) Online Referenzen unter http://www.wi3.uni-erlangen.de/lehre/ http://java.sun.com http://www.javaworld.com/ Online
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
MehrPraxis der Programmierung
Template-Funktionen und -Klassen Einführung in Java Institut für Informatik und Computational Science Universität Potsdam Henning Bordihn 1 Template-Funktionen 2 Minimumfunktion und offene Typen Aufruf
Mehr3. Klassen Statische Komponenten einer Klasse. Klassenvariablen
Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm
MehrII.1.1. Erste Schritte - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.
MehrCS1005 Objektorientierte Programmierung
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Allgemeines Java-Programme erstellen und ausführen Seite 1 Allgemeines Dozenten Dr. Th. Letschert Dr. Andreas Dominik Tutoren Lernziel
MehrJava: Der Einstieg. Algorithmen und Datenstrukturen II 1
Java: Der Einstieg Algorithmen und Datenstrukturen II 1 Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache OAK durch James Gosling von Sun Microsystems (zunächst für Toaster,
MehrErste Schritte in Java
Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem
MehrJAVA als erste Programmiersprache Semesterkurs
JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik
MehrKlassenmethoden. Klassenvariablen. Für das Auslesen des Studentenzählers definieren wir eine öffentliche Klassenmethode:
Klassenvariablen Klassenmethoden Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit
MehrEinführung in die Programmiersprache Java II
Einführung in die Programmiersprache Java II ??????????? UML OOP "Object oriented programming is bad" - professional retard 90s... UML Entwicklungsziele verschiedenen existierenden objektorienten Modellierungsmethoden
MehrProgrammieren lernen mit Groovy Allgemeines Programme und ihre Ausführung
Programmieren lernen mit Groovy Allgemeines Programme und ihre Ausführung Seite 1 Allgemeines Dozent Dr. Th. Letschert Lernziel Einführung in die Software-Entwicklung und Programmierung Kenntnisse einer
MehrJAVA. Ein kurzer Überblick. Thomas Karp
JAVA Ein kurzer Überblick Thomas Karp WAS IST JAVA? Java ist eine fast rein objektorientierte Sprache nicht JavaScript eine professionelle Sprache eine im Unterricht weit verbreitete Sprache für verschiedene
MehrProgrammierkurs Java. Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.
Programmierkurs Java Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Algorithmen, Maschinen- und Programmiersprachen Algorithmen
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
MehrKapitel 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
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrInformatik II. Woche 13, Giuseppe Accaputo
Informatik II Woche 13, 30.03.2017 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Nachbesprechung Self-Assessment Test Nachbesprechung Übung 5 Java: Objektorientierte Programmierung Klassen und Objekte
MehrVorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick
Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent
MehrErste Schritte in Java
Erste Schritte in Java In diesem Kapitel werden wir an einem kleinen Beispiel wichtige Grundbegriffe der objektorientierten Programmierung kennenlernen. Wir wollen ein Programm schreiben, das in der Lage
MehrProgrammentwicklung ohne BlueJ
Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie
MehrObjektorientierte Programmierung und Klassen
Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrEinstieg in die Informatik mit Java
1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:
MehrÜberblick. 5 Java. Insel Indonesiens. (126 650 km 2, 65 Mill. Einw.) amerikanischer Slang für Kaffee (" Betriebsstoff der Java-Programmierer")
Überblick 5 Java 5.1 Interpretation und Übersetzung von Programmen 5.2 Java als objekt-orientierte Programmiersprache 5.3 Ein erstes Java-Beispiel 5.4 Java Syntaxkonstrukte 5.5 Elementare Java-Klassen
MehrEinstieg in die Informatik mit Java
1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Java: Der Einstieg Grundlegendes zu Java: Historisches 1990-1991: Entwicklung der Programmiersprache
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
MehrJava: Eine Übersicht. Dennis Giffhorn. Lehrstuhl für Programmierparadigmen Universität Karlsruhe
Java: Eine Übersicht Dennis Giffhorn Lehrstuhl für Programmierparadigmen Universität Karlsruhe Allgemeines Objektorientiert Syntaxfamilie von C/C++ Statisch getypt Entwickelt von Sun Microsystems class
MehrJava Programmierung auf der Konsole / unter Eclipse
Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen
5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrTag 7 Repetitorium Informatik (Java)
Tag 7 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium
MehrTEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4
Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
MehrObjektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:
MehrMicrosoft.NET Framework & Component Object Model. ein Vortrag von Florian Steuber
Microsoft.NET Framework & Component Object Model ein Vortrag von Florian Steuber Übersicht I..NET Framework 1. Was ist das.net Framework? 2. Das.NET Execution Model 3. Sprachunabhängigkeit, CTS und CLS
Mehr- dynamisches Laden -
- - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms
MehrAlgorithmen und Datenstrukturen II
Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
MehrDie Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrProgrammieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine
MehrInformatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik
MehrAllgemeines - Prinzipien
OOP - Prinzipien Allgemeines - Prinzipien OO modelliert die reale Welt als System interagierender Objekte Objekt = gedankliche oder reale Einheit in der Umwelt und/oder in Software Klar definierte Schnittstellen
MehrGrundlagen der OO- Programmierung in C#
Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
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
MehrAlgorithmen und Datenstrukturen 06
31. Mai 2012 1 Besprechung Blatt 5 Fragen 2 Objektorientierte Programmierung Allgemein Sichtbarkeit Konstanten 3 Unified Modeling Language (UML) Klassendiagramme Anwendungsfalldiagramme 4 Vorbereitung
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrPraktikum Compilerbau Sitzung 9 Java Bytecode
Praktikum Compilerbau Sitzung 9 Java Bytecode Prof. Dr.-Ing. Gregor Snelting Matthias Braun und Sebastian Buchwald IPD Snelting, Lehrstuhl für Programmierparadigmen KIT Universität des Landes Baden-Württemberg
MehrII.1.1. Erste Schritte - 1 -
! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1
Mehr::Zweck. Sicherstellung, dass nur eine Instanz einer bestimmten Klasse existiert
::Singleton ::Index Zweck & Motivation Anwendbarkeit Struktur Teilnehmer & Interaktionen Konsequenzen Implementierung Verwendung Verwandte Muster Erzeugungsmuster Glossar ::Zweck Sicherstellung, dass nur
MehrAuD-Tafelübung T-B5b
6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit
MehrJava Concurrency Utilities
Java Concurrency Utilities Java unterstützt seit Java 1.0 Multithreading Java unterstützt das Monitorkonzept mittels der Schlüsselworte synchronized und volatile sowie den java.lang.object Methoden wait(),
MehrGrundlagen der Informatik Übungen 1.Termin
Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen
MehrAlgorithmen versus Programmiersprachen
Coma I Einleitung Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen
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
Mehr14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch
Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine
MehrHeap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen
Heap vs. vs. statisch Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen
MehrMethoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik
Methoden und Klassen Silke Trißl Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode wird public
Mehr