Java Warum Programmierung?

Werbung
Java
•
•
•
•
•
Programmierung
Höhere Programmiersprachen
Java als Programmiersprache
Aufbau der Java-Software
Verwendung von JOE
Anwendungen der Wirtschaftsinformatik SS 2009
201-1
Warum Programmierung?
• Prozessor versteht nur Folgen von 0 und 1
• Wie erstellt man die Folge von 0 und 1, um
den Prozessor zu der gewünschten Arbeit zu
veranlassen?
• Wie entsteht Software?
Anwendungen der Wirtschaftsinformatik SS 2009
201-2
Programmierung
Beispiel Taschenrechner
• Eingabe von Zahlen über Tastatur incl. Umwandlung
in Dualsystem
• Tasten für bestimmte Funktionen (+ - * / M+ etc.)
• Prozessor kennt nur die Befehle, die hinter den
Tasten liegen (Befehlssatz)
(Befehlssat )
=> Mensch muss die Abfolge der Eingaben
und Operationen selber festlegen
• Beispiele
– (3+4):(10-3)
– Addition zweier 10-stelliger Zahlen mittels
Taschenrechner mit 6 Stellen
Anwendungen der Wirtschaftsinformatik SS 2009
201-3
1
Programmierung
• Mensch schreibt selber in Sprache des
Prozessors (Maschinensprache)
• Einsatz eines Programms, das
Maschinensprache aus anderen Sprachen
erzeugt
• Es bleibt für den Menschen die
Notwendigkeit, die Aufgabe in formalisierter
Form zu beschreiben.
=> Modell der Datenverarbeitung
201-4
Anwendungen der Wirtschaftsinformatik SS 2009
Modell der Datenverarbeitung
Eingabedaten
Ausgabedaten
Verarbeitung
g
EVA-Prinzip
201-5
Anwendungen der Wirtschaftsinformatik SS 2009
DV: Einfache Beispiele
• Addition
2
+
2
4
• Telefonnummer suchen
Müller
Suche
123 654
Telefonbuch
Anwendungen der Wirtschaftsinformatik SS 2009
201-6
2
Programmierung
• Problemlösung im Rahmen der EDV
erfordert die Formulierung der Lösung in
einer der Maschine verständlichen Form.
Æ Programmierung
• Formulierung
F
li
d
der Arbeitsvorschrift
A b it
h ift mittels
itt l
Anweisungen (durch den Menschen)
Æ Algorithmus
• Formalisierte Beschreibung des Algorithmus
und Übersetzung in Maschinensprache
Æ Programmiersprache
201-7
Anwendungen der Wirtschaftsinformatik SS 2009
Programmierung
Algorithmus
P bl
Problemlösung
in menschlicher
Sprache
Programmiersprache
E t
Entwurf
f
Formalisiert,
dem Menschen
angepasst
M
Maschinen
hi
code
in Sprache der
Hardware
201-8
Anwendungen der Wirtschaftsinformatik SS 2009
Algorithmus
Berechnung der Umsatzsteuer
E
Nettobetrag
Steuersatz
V
Programm
A
Endbetrag
Realisierung durch eine Reihe von
Anweisungen = Algorithmus
Anwendungen der Wirtschaftsinformatik SS 2009
201-9
3
Sprachliche Formalisierung
des Algorithmus
Lies Nettobetrag ein (von Tastatur)
Lies Steuersatz ein (aus Datei)
Steuer := Nettobetrag · Steuersatz : 100
Endbetrag := Nettobetrag + Steuer
Gib Endbetrag aus (auf Bildschirm)
Ende
Anwendungen der Wirtschaftsinformatik SS 2009
201-10
Konstrukte für
komplexe Abläufe
• Verzweigungen (wenn … dann … sonst)
• Wenn MwSt-Schlüssel = 1
dann voller MwSt-Satz
sonst ermäßigter MwSt-Satz
• Schleifen (x mal) oder (solange, wie …)
• Berechne bei degressiver Abschreibung den
Abschreibungsbetrag solange, bis der
Restbuchwert unter dem Restverkaufserlös
liegt
Anwendungen der Wirtschaftsinformatik SS 2009
201-11
Programmiersprache
• Natürliche Sprache trotz Formalisierung
nicht eindeutig
Æ genormte Spezialsprache
Æ Programmiersprache
g
p
• Formulierung in dieser Sprache ist Aufgabe
des Menschen
(da es die Maschine ja per Definitionem
nicht kann)
Anwendungen der Wirtschaftsinformatik SS 2009
201-12
4
Umsetzung in Programmiersprache
Beispiel in Java
public class Umsatzsteuer... {
double nettobetrag, endbetrag, steuer;
Integer steuersatz;
nettobetrag = getDouble();
steuersatz = getInteger();
steuer = nettobetrag * steuersatz / 100;
endbetrag = nettobetrag + steuer;
System.out.printf("Endbetrag:%25.2f%n",
endbetrag);
}...
Anwendungen der Wirtschaftsinformatik SS 2009
201-13
Umsetzung in Programmiersprache
Beispiel in Pascal
Program Umsatzsteuer;
Var Nettobetrag, Endbetrag, Steuer: Real;
Steuersatz: Integer;
Begin
ReadLn (Nettobetrag);
ReadLn (Steuersatz);
Steuer := Nettobetrag * Steuersatz / 100;
Endbetrag := Nettobetrag + Steuer;
WriteLn (Endbetrag:15:2)
End.
Anwendungen der Wirtschaftsinformatik SS 2009
201-14
Compilierung
• Programmcode ist eindeutig, aber noch
nicht prozessorgerecht
• Gründe
– Operationen zu komplex für Prozessor
Æ Zerlegung
Z l
eines
i
k
komplexen
l
B
Befehls
f hl in
i
viele einfache, z.B. ADD 1,2 oder JMP 64
– Übersetzung der einfachen Befehle in
Maschinensprache
Darstellung im Dualsystem
10010011 10101011 10000101
• Übersetzung übernimmt der Computer
(Compiler ist auch ein Programm).
Anwendungen der Wirtschaftsinformatik SS 2009
201-15
5
Klassische Schritte der Programmierung
Edit
Quellprogramm
Compile
Objektmodul
Link
ausführbares
Programm
Execute
Anwendungen der Wirtschaftsinformatik SS 2009
201-16
Höhere Programmiersprachen
3. Generation
• Problemorientierung
kommerziell / technisch-wissenschaftlich
• Elemente
– Anweisungen (Statements)
– Vereinbarungen
• Übersetzungsprogramm (Compiler)
Anweisungen und Vereinbarungen in Folgen von
Maschinenbefehlen aufgelöst
Anwendungen der Wirtschaftsinformatik SS 2009
201-17
höhere Programmiersprachen
3. Generation
• COBOL, RPG: kommerzieller Bereich
• FORTRAN: technisch-wissenschaftlicher Bereich
• ALGOL, Pascal und Modula: geprägt durch
theoretische Ansätze der Informatik
• PL/1: Versuch, die Erfahrungen mit COBOL,
FORTRAN und ALGOL zu vereinen
• BASIC: für interaktive Programmierung konzipiert
• C: im Zusammenhang mit UNIX (2½ GL)
• ADA: neuere Entwicklung, technisch
• Java: neuerer Standard
• PHP: Internet
Anwendungen der Wirtschaftsinformatik SS 2009
201-18
6
Java
• Java: umgangssprachlich für „Tasse Kaffee“
=> dampfende Tasse Kaffee ist offizielles
Java-Logo
• Entwickelt von Sun Microsystems (hat auch
alle Rechte daran), Tochter JavaSoft
• Entwickelt seit 1991, Name seit 1994, erste
offizielle Version 1.0 1996 veröffentlicht
• Ursprüngliche Zielrichtung: Programme für
WWW-Browser, erst später allgemeine
Programmiersprache
Anwendungen der Wirtschaftsinformatik SS 2009
201-19
Java
• Völlig neu entworfen
• Ziel: möglichst einfach, Übernahme bewährter Merkmale vorhandener Sprachen unter
Verzicht auf fehleranfällige komplexe Bautei
Bauteile, Anwendungsbereich vernetzte Systeme
• „einfach, objektorientiert, verteilt, interpretiert, robust, sicher, architekturneutral,
portabel, performant, nebenläufig,
dynamisch“
• JavaScript Ù Java
JavaScript hat mit Java NICHTS zu tun.
Anwendungen der Wirtschaftsinformatik SS 2009
201-20
Schritte der Programmierung
bei Java
• Edit
erzeugt Quellcode (*.java)
• Compile
erzeugt systemunabhängigen Bytecode (*.class)
• Laufzeitumgebung
L f i
b
(Run
(R
Time
Ti
Environment)
E i
)
virtuelle Maschine (systemabhängig!)
lädt und interpretiert ByteCode-Programme
dynamisch
• Sonderversion: Applets
Compilieren und Ausführung im WWW-Browser
• Konsequenz: hohe Portabilität
Anwendungen der Wirtschaftsinformatik SS 2009
201-21
7
Schritte der Programmierung
bei Java (konkrete Arbeiten)
• Edit
Notepad oder anderer Editor (ohne Formatierung!)
Speicherung der Datei als xxx.java
• Compile
Bestandteil von Java SDK: javac xxx
erzeugt xxx.class
• Laufzeitumgebung (Run Time Environment)
Bestandteil von Java SDK: java xxx
führt xxx.class aus
• Zur Vereinfachung
Entwicklungsumgebung, JCreator
Anwendungen der Wirtschaftsinformatik SS 2009
201-22
Java SDK
• Software Development Kit = Werkzeug zur
Erstellung von Software
• von Fa. Sun kostenlos bereitgestellt, ladbar
über das Internet
• enthält alles, was man für die Programmentwicklung und Ausführung braucht
• Struktur vorgegeben,
Installationsvorschriften (PATH etc.)
• für Windows, Linux u.a. verfügbar
• Versionen (1.4.3, 1.5 = Java 5, 1.6 )
Anwendungen der Wirtschaftsinformatik SS 2009
201-23
JCreator
• Programmsystem zur Entwicklung von JavaProgrammen
• Ladbar aus dem Internet
LE als Testversion nutzbar
• zur Erstellung von komplexen Programmen,
aber auch für klassische zeichenorientierte
Programme
• verwendet die Werkzeuge aus Java SDK,
setzt sie geschickt ein (Menüpunkte)
• eigener Editor
Anwendungen der Wirtschaftsinformatik SS 2009
201-24
8
Zusätze Uni Münster
• eigene Unterprogramme (Klassen) für
Eingabe im DOS-Fenster
• müssen zusätzlich in Dateisystem kopiert
werden
• müssen als zusätzliche Klassenpfade
eingebunden werden (JCreator)
Anwendungen der Wirtschaftsinformatik SS 2009
201-25
Software / Literatur / Hilfen
• Java SDK kostenlos ladbar
• JCreator LE kostenlos ladbar
• Installationsanleitung unter
www wiwi uni-muenster de/grundzuege wi/
www.wiwi.uni-muenster.de/grundzuege_wi/
• Literaturliste in den Java-Materialien
• Dokumentation im Java SDK
• Hilfesystem von JCreator
Anwendungen der Wirtschaftsinformatik SS 2009
201-26
9
Herunterladen