+ All Categories
Home > Documents > PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Date post: 06-Apr-2015
Category:
Upload: amalia-stricker
View: 107 times
Download: 0 times
Share this document with a friend
55
PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Güssing, Oktober 1999 Martin Weissenböck Martin Weissenböck
Transcript
Page 1: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

PI BurgenlandJava und JavaScript

1. Teil

PI BurgenlandJava und JavaScript

1. Teil

Güssing, Oktober 1999Güssing, Oktober 1999

Martin WeissenböckMartin Weissenböck

Page 2: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

JavaJava

EigenschaftenEigenschaften WurzelnWurzeln SprachelementeSprachelemente EntwicklungswerkzeugeEntwicklungswerkzeuge Didaktische QualitätDidaktische Qualität ZusammenfassungZusammenfassung

Page 3: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: objektorientiertJava: objektorientiert

Datenkapselung:Datenkapselung:Datenelemente und Unterprogramme Datenelemente und Unterprogramme (Methoden) in einer Klasse vereinigt(Methoden) in einer Klasse vereinigt

Vererbung:Vererbung:Übernahme von Daten und Methoden, Übernahme von Daten und Methoden, Ergänzung bzw. Überschreiben von MethodenErgänzung bzw. Überschreiben von Methoden

Polymorphie:Polymorphie:alle Klassen sind „virtuell“alle Klassen sind „virtuell“

Page 4: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: verteiltJava: verteilt

Java-Bibliotheken sind über das Internet Java-Bibliotheken sind über das Internet erreichbarerreichbar

Java-Bibliotheken können auch in einem Java-Bibliotheken können auch in einem lokalen Netz zur Verfügung gestellt werdenlokalen Netz zur Verfügung gestellt werden

Verwendetes Protokoll: TCP/IPVerwendetes Protokoll: TCP/IP

Page 5: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: robustJava: robust

Keine Pointer-Arithmetik (wie in C), daher kein Keine Pointer-Arithmetik (wie in C), daher kein illegaler Speicherzugriff möglichillegaler Speicherzugriff möglich

Prüfung von Array-Indizes; damit wird die Prüfung von Array-Indizes; damit wird die Überschreitung von Grenzen verhindertÜberschreitung von Grenzen verhindert

Ausnahmebehandlungen („exception“) müssen Ausnahmebehandlungen („exception“) müssen vorgesehen werdenvorgesehen werden

Page 6: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: sicherJava: sicher

Java-Programme werden über das Netz verteiltJava-Programme werden über das Netz verteilt Byte-Code schützt vor Verfälschungen und Byte-Code schützt vor Verfälschungen und

VirenbefallVirenbefall Kontrolle durch PrüfsummenKontrolle durch Prüfsummen Zugriffe auf das Dateisystem nur in der Zugriffe auf das Dateisystem nur in der

vorgesehenen Weise erlaubtvorgesehenen Weise erlaubt

Page 7: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: architekturunabhängigJava: architekturunabhängig

Byte-Code erlaubt den Einsatz auf allen Byte-Code erlaubt den Einsatz auf allen Systemen, sofern das Laufzeitsystem vorhanden Systemen, sofern das Laufzeitsystem vorhanden ist: Einsatz einer „virtuellen Maschine“ist: Einsatz einer „virtuellen Maschine“

Beispiele: UNIX, Windows 9*, Windows NT, Beispiele: UNIX, Windows 9*, Windows NT, OS/2, Apple, Sun...OS/2, Apple, Sun...

Wirtschaftliche Bedeutung, Wirtschaftliche Bedeutung, Rechtsstreitigkeiten!Rechtsstreitigkeiten!

Page 8: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: portierbarJava: portierbar

Alle Datentypen sind intern immer gleich Alle Datentypen sind intern immer gleich dargestelltdargestellt

Beispiele: Beispiele: intint ist immer eine 32-Bit-Zahl, mit Vorzeichen ist immer eine 32-Bit-Zahl, mit Vorzeichen floatfloat ist immer eine 32-Bit-Zahl gemäß IEEE-754- ist immer eine 32-Bit-Zahl gemäß IEEE-754-

SpezifikationSpezifikation

Page 9: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: interpretiertJava: interpretiert

Byte-Code wird interpretiertByte-Code wird interpretiert Kein Linken von ProgrammteilenKein Linken von Programmteilen Keine Make-ProzedurenKeine Make-Prozeduren Klassen können unabhängig von einander Klassen können unabhängig von einander

geändert werdengeändert werden Neuübersetzung des gesamten Programms bei Neuübersetzung des gesamten Programms bei

Änderungen nicht notwendigÄnderungen nicht notwendig

Page 10: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: hohe RechenleistungJava: hohe Rechenleistung

Byte-Code ist dem Maschinencode schon sehr Byte-Code ist dem Maschinencode schon sehr ähnlichähnlich

Einfaches Realisieren von Multithreading-TasksEinfaches Realisieren von Multithreading-Tasks Dadurch GeschwindigkeitssteigerungDadurch Geschwindigkeitssteigerung Weitere Beschleunigung durch Just-in-time-Weitere Beschleunigung durch Just-in-time-

Compiler (Übersetzung des Byte-Code auf der Compiler (Übersetzung des Byte-Code auf der Zielmaschine in deren Maschinencode)Zielmaschine in deren Maschinencode)

Page 11: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: multithreadfähigJava: multithreadfähig

Quasi-paralleles Abarbeiten unterschiedlicher Quasi-paralleles Abarbeiten unterschiedlicher Aufgaben bringt GeschwindigkeitsvorteileAufgaben bringt Geschwindigkeitsvorteile

Einfache Realisierung von Threads durch die Einfache Realisierung von Threads durch die Ableitung einer neuen KlasseAbleitung einer neuen Klasse

Page 12: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: dynamischJava: dynamisch

Werden in einer Superklasse neue Methoden Werden in einer Superklasse neue Methoden oder Instanzvariablen eingeführt, müssen die oder Instanzvariablen eingeführt, müssen die Subklassen nicht geändert werdenSubklassen nicht geändert werden

Speicherplatz wird mit Speicherplatz wird mit newnew angefordert angefordert Speicherplatz wird automatisch freigegeben.Speicherplatz wird automatisch freigegeben.

Page 13: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: kompaktJava: kompakt

Keine Include-Dateien (Header-Files)Keine Include-Dateien (Header-Files) Alle Informationen in einer DateiAlle Informationen in einer Datei Übersichtliche Größe durch das Teilen in Übersichtliche Größe durch das Teilen in

einzelne Dateien (Teilen in Klassen)einzelne Dateien (Teilen in Klassen)

Page 14: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Eigenschaften (1)Java: Eigenschaften (1)

Applets:Applets: in HTML-Dateien eingebettet in HTML-Dateien eingebettet InteraktionInteraktion AnimationAnimation

Interpreter:Interpreter: Netscape, Internet Explorer o.ä.Netscape, Internet Explorer o.ä. AppletviewerAppletviewer

PlattformunabhängigPlattformunabhängigWin95Win95/98/98, Win NT, Win NT/2000/2000, Mac OS 7.5, Solaris, Win 3.1x, Mac OS 7.5, Solaris, Win 3.1x

Page 15: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Eigenschaften (2)Java: Eigenschaften (2)

ApplicationsApplications::Selbständige JAVA-ProgrammeSelbständige JAVA-Programme

Laufzeitinterpreter (*.CLASS)Laufzeitinterpreter (*.CLASS) Compiler (*.EXE)Compiler (*.EXE)

Kostenlose Nutzung:Kostenlose Nutzung: Compiler, Interpreter, Library, DokumentationCompiler, Interpreter, Library, Dokumentation Internetadresse http://java.sun.comInternetadresse http://java.sun.com

Page 16: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: WurzelnJava: Wurzeln

C/C++: Syntax, Kontrollstrukturen, Variablen, C/C++: Syntax, Kontrollstrukturen, Variablen, GültigkeitsbereicheGültigkeitsbereiche

Objective-C: Interface-KonzeptObjective-C: Interface-Konzept C++: KlassenkonzeptC++: Klassenkonzept Small-Talk: Erweiterbarkeit zur Laufzeit,Small-Talk: Erweiterbarkeit zur Laufzeit,

dynamische Speicherverwaltung,dynamische Speicherverwaltung,MultithreadingMultithreading

Page 17: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: SprachelementeJava: Sprachelemente

Grundlegender AufbauGrundlegender Aufbau Verzweigungen, SchleifenVerzweigungen, Schleifen Einfache DatentypenEinfache Datentypen Strukturierte DatentypenStrukturierte Datentypen UnterprogrammeUnterprogramme KlassenKlassen ExceptionsExceptions

Page 18: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Grundlegender Aufbau (1)Java: Grundlegender Aufbau (1)

Variablennamen (Unicode), Kommentare, Variablennamen (Unicode), Kommentare, Groß-/Kleinschreibung wie in C/C++Groß-/Kleinschreibung wie in C/C++

Klassen “überall”Klassen “überall” SystemSystem-Klasse immer verwendbar-Klasse immer verwendbarpublic classpublic class Hallo Hallo

{ { public static voidpublic static void main(String[] args) main(String[] args)

{ System.out.println(“Hallo”);{ System.out.println(“Hallo”);

}}

}}

Page 19: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Grundlegender Aufbau (2)Java: Grundlegender Aufbau (2)

Ein- und Ausgabe, Variablenvereinbarung:Ein- und Ausgabe, Variablenvereinbarung:importimport myio; myio;

public classpublic class b03 b03

{ { public static voidpublic static void main(String[] arg) main(String[] arg)

{ { int int zahl1, zahl2, ergebnis;zahl1, zahl2, ergebnis;

zahl1=myio.readInt();zahl1=myio.readInt();

zahl2=myio.readInt();zahl2=myio.readInt();

ergebnis=zahl1+zahl2;ergebnis=zahl1+zahl2;

System.out.println(ergebnis);System.out.println(ergebnis);

} }} }

Page 20: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Grundlegender Aufbau (3)Java: Grundlegender Aufbau (3)

Eine Applet-Referenz:Eine Applet-Referenz:

importimport java.applet.Applet; java.applet.Applet; //Anweisung//Anweisung

importimport java.awt.Graphics; java.awt.Graphics; // Directory-Struktur// Directory-Struktur

public classpublic class HalloAp HalloAp extendsextends Applet Applet //Klasse//Klasse

{ { publicpublic voidvoid paint (Graphics g) paint (Graphics g) //Minimum!//Minimum!

{ g.drawString(“Hallo”,50,25);{ g.drawString(“Hallo”,50,25);

}}

}}

Page 21: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Grundlegender Aufbau (4)Java: Grundlegender Aufbau (4)

Das zugehörige HTML-File:Das zugehörige HTML-File:

<title>Hallo Testprogramm</title><title>Hallo Testprogramm</title>

<hr><hr>

<applet code=“HalloAp.class” width=250 <applet code=“HalloAp.class” width=250 height=80>height=80>

</applet></applet>

<hr><hr>

Page 22: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Grundlegender Aufbau (5)Java: Grundlegender Aufbau (5)

Keine externen Variablen/FunktionenKeine externen Variablen/Funktionen KonstantenKonstanten

C/C++ -Schreibweise: C/C++ -Schreibweise: const int a=5;const int a=5; Java-Schreibweise:Java-Schreibweise:

private final static int a=5;private final static int a=5;

KommentareKommentare /*/* und und */*/, ferner , ferner //// /**/** zur Dokumentation zur Dokumentation

Page 23: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: AppletsJava: Applets

Kein Kein mainmain-Programm-Programm eingebettet in einer eingebettet in einer public classpublic class, ,

die von die von AppletApplet abgeleitet ist abgeleitet ist eineeine publicpublic-Methode -Methode paintpaint Applet-Referenz in einer HTML-DateiApplet-Referenz in einer HTML-Datei Parameterübergabe von der HTML-Datei an das Parameterübergabe von der HTML-Datei an das

Java-Programm möglichJava-Programm möglich

Page 24: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Verzweigungen, SchleifenJava: Verzweigungen, Schleifen

ifif-, -, switchswitch-Anweisung wie in C/C++-Anweisung wie in C/C++ kein kein gotogoto whilewhile-, -, do/whiledo/while- und - und forfor-Schleifen wie in -Schleifen wie in

C/C++C/C++ lokale Vereinbarung der Laufvariablenlokale Vereinbarung der Laufvariablen Marken vor geschachtelten Schleifen:Marken vor geschachtelten Schleifen:

breakbreak und und continuecontinue “von innen” möglich “von innen” möglich

Page 25: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Einfache DatentypenJava: Einfache Datentypen

Gleitkomma: Gleitkomma: float, doublefloat, double Ganzzahlig: Ganzzahlig: byte, short, int, longbyte, short, int, long Logisch: Logisch: booleanboolean Zeichen: Zeichen: charchar ...alle auch mit Initialisierung...alle auch mit Initialisierung Operatoren wie in C/C++, ferner:Operatoren wie in C/C++, ferner:

Shift+zero extension: Shift+zero extension: x>>>y, x>>>=yx>>>y, x>>>=y String concatenation: String concatenation: ++

Page 26: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Ganzzahlige GrößenJava: Ganzzahlige Größen

Name Bitzahl Wertebereich

long 64 -9.223.372.036.854.775.808L...+9.223.372.036.854.775.807L

int 32 -2.147.483.648...+2.147.483.647

short 16 -32.768...+32.767

byte 8 -128...+127

Page 27: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Gleitkommawerte, CharJava: Gleitkommawerte, Char

Name Bitzahl Wertebereich

double 64 1.7e-308D...1.7e+308D

float 32 3.4e-038F...3.4e+038F

Char 16 ‘\u0000‘...‘\uffff‘

Page 28: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: OperatorenJava: Operatoren

Höchste Priorität:Höchste Priorität: ( ) [ ] .( ) [ ] . ++ -- ~ ! ++ -- ~ ! * / % * / % + - + - >> >>> << >> >>> << > >= < <= instanceof > >= < <= instanceof == != == !=

Page 29: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: OperatorenJava: Operatoren

& & ^ ^ | | && && || || ?: ?: = = opop= = ,,

Page 30: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Strukturierte Daten (1)Java: Strukturierte Daten (1)

Felder: Felder: intint[ ] feld;[ ] feld; // oder // oder intint feld[ ]; feld[ ]; // nur Zeiger, keine Speicherreservierung// nur Zeiger, keine Speicherreservierung

feld = feld = new intnew int [5]; [5];Alternative:Alternative:intint[ ] feld = [ ] feld = new intnew int [5]; [5];

kein “kein “freefree”” intint[ ] feld = {1, 2, 3+4, 5, 6};[ ] feld = {1, 2, 3+4, 5, 6};

Page 31: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Strukturierte Daten (2)Java: Strukturierte Daten (2)

Klassen: Konstruktoren, Methoden und Daten wie in Klassen: Konstruktoren, Methoden und Daten wie in C++C++

Modifikatoren für den Zugriff:Modifikatoren für den Zugriff:privateprivate nur von der eigenen Klasse nur von der eigenen Klassefriendlyfriendly vom selben Modul aus vom selben Modul ausprivate protected private protected nur von abgeleiteten Klassennur von abgeleiteten Klassenprotectedprotected auch von abgeleiteten Klassen auch von abgeleiteten Klassenpublicpublic von allen Klassen möglich von allen Klassen möglich

Page 32: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Modifikatoren Java: Modifikatoren

private friendly privateprotected

protected public

Selbe Klasse Selbes Package

Subklasse

Selbes Package,andere Klasse

Anderes Package

Subklasse

Anderes Packageandere Klasse

Page 33: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Variablen/ModifikatorenJava: Variablen/Modifikatoren

staticstatic Kennzeichen für Klassenvariable Kennzeichen für Klassenvariable finalfinal Wert kann nicht geändert werden Wert kann nicht geändert werden

(Konstanten!) (Konstanten!) transient transient Daten nicht persistentDaten nicht persistent volatile volatile Asynchrone Änderung möglich;Asynchrone Änderung möglich;

keine Optimierung, die Variable keine Optimierung, die Variable bleibt im Speicher bleibt im Speicher

Page 34: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Unterprogramme, KlassenJava: Unterprogramme, Klassen

Keine PointerparameterKeine Pointerparameter Keine Referenzen für einfachen DatentypenKeine Referenzen für einfachen Datentypen Ergebnistyp: beliebigErgebnistyp: beliebig Überlagerung möglich (wie in C++)Überlagerung möglich (wie in C++) Konstruktoren ähnlich zu C++Konstruktoren ähnlich zu C++ supersuper und und thisthis zum Zugriff auf die zum Zugriff auf die

Basis-Klasse und die eigene KlasseBasis-Klasse und die eigene Klasse keine Destruktoren, aber keine Destruktoren, aber finalize()finalize()

Page 35: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: KlassenJava: Klassen

staticstatic in einer Klasse leitet eine Initialisierung in einer Klasse leitet eine Initialisierung einein

Vererbung:Vererbung:classclass B B extendsextends A {...} A {...}

keine Mehrfachvererbungkeine Mehrfachvererbung(daher auch keine virtuellen Basis-Klassen)(daher auch keine virtuellen Basis-Klassen)

statt dessen: statt dessen: interfaceinterface

Page 36: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Exceptions (1)Java: Exceptions (1)

trytry { /* { /* das Programmdas Programm */ } */ } catchcatch (BesondererFehler e) (BesondererFehler e) { /* { /* Fehlerbehandlung 1Fehlerbehandlung 1 */ } */ }catchcatch (Exception e) (Exception e) { /* { /* Fehlerbehandlung 2Fehlerbehandlung 2 */ } */ }

Auslösen:Auslösen:throwthrow newnew BesondererFehler (a, b); BesondererFehler (a, b);

Page 37: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Exceptions (2)Java: Exceptions (2)

trytry { /* { /* das Programmdas Programm */ } */ } finallyfinally { /* { /* immer ausführenimmer ausführen */ } */ }

Exceptions, die von einem Unterprogramm Exceptions, die von einem Unterprogramm ausgelöst werden können:ausgelöst werden können:public static voidpublic static void Bsp() Bsp() throwsthrows BesondererFehler, FehlerX BesondererFehler, FehlerX { /* { /* UnterprogrammUnterprogramm */ } */ }

Page 38: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: EntwicklungswerkzeugeJava: Entwicklungswerkzeuge

Java Developer’s Kit (Sun, Vers. 1.2)Java Developer’s Kit (Sun, Vers. 1.2) Java Café Lite(Symantec)Java Café Lite(Symantec) C++ (Vers. 5.0 von Inprise) mit Java-CompilerC++ (Vers. 5.0 von Inprise) mit Java-Compiler J-Buider (Inprise)J-Buider (Inprise) Visual J++ (Vers. 6.0 von MicrosoftVisual J++ (Vers. 6.0 von Microsoft, Visual Studio, Visual Studio)) JDK (frei nutzbar) + WinEdit (Shareware)JDK (frei nutzbar) + WinEdit (Shareware) Sybase, PowerJ (V2.1Sybase, PowerJ (V2.1 für Schulen gratis, V2.5, V3 für Schulen gratis, V2.5, V3))

Page 39: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Didaktische Qualität (1)Java: Didaktische Qualität (1)

Sprache Vorteile Nachteile

Basic(Taschen-rechner)

sehr einfach beim Einstieg kein Zwang zu saubererProgrammierung;keine Unterprogramme mitParametern

C weite Verbreitung komplizierte Konstrukteschon am Anfang (Zeigerfür Eingabe, Parameter)

Pascal didaktisch hervorragend geringe Verbreitung;schwache Ein/Ausgabe;OOP erst nachträglich

Page 40: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Didaktische Qualität (2)Java: Didaktische Qualität (2)

Sprache Vorteil Nachteil

Modula Weiterentwicklung vonPascal

Zu geringe Verbreitung;zu strenges Typenkonzept

Oberon Kompaktes System;moderner Software-entwurf möglich

Zu geringe Verbreitung

C++ Weite Verbreitung Syntax didaktischungeeignet

Page 41: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: Didaktische Qualität (3)Java: Didaktische Qualität (3)

Vorteile:Vorteile: Ausstieg aus SchleifenAusstieg aus Schleifen Verwendung von Verwendung von

ExceptionsExceptions Schwerpunkt OOPSchwerpunkt OOP Dynamische VariablenDynamische Variablen Viele KlassenViele Klassen MultithreadingMultithreading Interface-Konzept statt Interface-Konzept statt

MehrfachvererbungMehrfachvererbung

Nachteile:Nachteile: Hoher Aufwand beim Hoher Aufwand beim

EinstiegEinstieg nur char-Eingabenur char-Eingabe nur call-by-value bei nur call-by-value bei

einfachen Datentypeneinfachen Datentypen Komplizierte SyntaxKomplizierte Syntax

Page 42: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java und JavaScriptJava und JavaScript

JavaJava Applets für WebseitenApplets für Webseiten

Applications (selbständ.)Applications (selbständ.) Compiler,Compiler,

Just-in-time-CompilerJust-in-time-Compiler Byte-CodeByte-Code Strenge TypprüfungStrenge Typprüfung

JavaScriptJavaScript Nur in WebseitenNur in Webseiten

Ausnahme: Ausnahme: Server Side JavaScriptServer Side JavaScript

Nur InterpreterNur Interpreter

Source-TextSource-Text Keine DatentypenKeine Datentypen

Page 43: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: ZusammenfassungJava: Zusammenfassung

für professionelle HTML-Präsentationen bald für professionelle HTML-Präsentationen bald ein “Muß“ein “Muß“

gute C/C++-Vorkenntnisse sind nützlichgute C/C++-Vorkenntnisse sind nützlich in vielen Punkten einfacher als C++in vielen Punkten einfacher als C++ didaktisch trotzdem nicht optimaldidaktisch trotzdem nicht optimal gute Entwicklungswerkzeuge schon verfügbar gute Entwicklungswerkzeuge schon verfügbar

Page 44: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Java by example: Java by example: Jerry R. Jackson, Allan L. McClellanJerry R. Jackson, Allan L. McClellanSunSoft Press, 1996. ISBN 0-13-565763-3SunSoft Press, 1996. ISBN 0-13-565763-3Mit CD. In englischer Sprache.Mit CD. In englischer Sprache.Guter Überblick über die Sprache mit vielen Guter Überblick über die Sprache mit vielen BeispielenBeispielen

Page 45: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Java HandbookJava HandbookPatrick NaughtonPatrick NaughtonOsborne McGraw-Hill, 1996Osborne McGraw-Hill, 1996ISBN 0-07-882199-1, $2795ISBN 0-07-882199-1, $2795Empfehlenswerte Einführung mit vielen Beispielen Empfehlenswerte Einführung mit vielen Beispielen Programmbeispiele unter http://www.osborne.com zu Programmbeispiele unter http://www.osborne.com zu findenfinden

Page 46: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Visual J++, Visual J++, Version 1.1Version 1.1Markus Linke, Markt&Technik, 1997Markus Linke, Markt&Technik, 1997ISBN 3-8272-5257-1ISBN 3-8272-5257-1Kompaktes Nachschlagewerk, speziell für die Kompaktes Nachschlagewerk, speziell für die Microsoft-Java-VarianteMicrosoft-Java-Variante

Java 1.2Java 1.2Ralph Steyer, Markt&Technik, 1998Ralph Steyer, Markt&Technik, 1998ISBN 3-8272-5435-3ISBN 3-8272-5435-3Kompaktes Nachschlagewerk, neueste Java-VersionKompaktes Nachschlagewerk, neueste Java-Version

Page 47: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Java: Java: Kai Baufeldt, Rolf MäurersKai Baufeldt, Rolf MäurersData Becker, 1996Data Becker, 1996ISBN 3-8158-1553-3 (ATS 147,-)ISBN 3-8158-1553-3 (ATS 147,-)

Preiswerte, systematische Einführung. Keine Preiswerte, systematische Einführung. Keine Vorkenntnisse erforderlich. HTML-Einführung im Vorkenntnisse erforderlich. HTML-Einführung im Anhang.Anhang.

Page 48: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Java Java oder: wie steuere ich meine Kaffeemaschine?oder: wie steuere ich meine Kaffeemaschine?Bernhard Davignon, Georg EdelmannBernhard Davignon, Georg Edelmanntewi-Verlag 1996 (ATS 145,-)tewi-Verlag 1996 (ATS 145,-)ISBN: 3-89362-459-7ISBN: 3-89362-459-7Noch eine preiswerte Einführung, allerdings geringerer Noch eine preiswerte Einführung, allerdings geringerer Tiefgang. Keine Anhänge zum NachschlagenTiefgang. Keine Anhänge zum Nachschlagen

Page 49: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Learn Java NowLearn Java NowStephen R. Davis, Microsoft Press 1996Stephen R. Davis, Microsoft Press 1996In englischer SpracheIn englischer SpracheEmpfehlenswert für den Umstieg von C++ auf Java, Empfehlenswert für den Umstieg von C++ auf Java, keine grundlegenden Erläuterungen von einfachen keine grundlegenden Erläuterungen von einfachen SprachelementenSprachelementen

Page 50: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Das Einsteigerseminar JavaDas Einsteigerseminar JavaFrank Knobloch, Michael Seeboerger-Weichselbaum Frank Knobloch, Michael Seeboerger-Weichselbaum (ATS 145,-)(ATS 145,-)bhv 1997, ISBN 3-89360-925-3bhv 1997, ISBN 3-89360-925-3Einführung samt Zusammenstellung der wichtigsten Einführung samt Zusammenstellung der wichtigsten Klassen. Anhänge Klassen. Anhänge

Page 51: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Die Java-FibelDie Java-FibelPaul Kühnel, Addison-Wesley ATS 437,-Paul Kühnel, Addison-Wesley ATS 437,-ISBN 3-8273-1024-5, mit CDISBN 3-8273-1024-5, mit CDVorteil: kompakte Zusammenfassung am AnfangVorteil: kompakte Zusammenfassung am AnfangNachteil: komplexes Beispiel schon zu BeginnNachteil: komplexes Beispiel schon zu BeginnKomplette Syntax im AnhangKomplette Syntax im Anhang

Page 52: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Java Distributed ComputingJava Distributed ComputingJim Farley, O‘Reilly, 1997Jim Farley, O‘Reilly, 1997ISBN 1-56592-206-9, englisch, USD 32,95ISBN 1-56592-206-9, englisch, USD 32,95Kein Einsteigerbuch. In dieser Reihe sind etliche Kein Einsteigerbuch. In dieser Reihe sind etliche Bücher zu Java-Spezialthemen erschienen. Hohe Bücher zu Java-Spezialthemen erschienen. Hohe fachliche Qualität, empfehlenswert!fachliche Qualität, empfehlenswert!

Page 53: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Java: LiteraturJava: Literatur

Einstieg in JavaEinstieg in JavaW.D.Misgeld, J. GruberW.D.Misgeld, J. GruberHanser-Verlag, 1996Hanser-Verlag, 1996ISBN 3-446-18836-3, ATS 364,-, mit CDISBN 3-446-18836-3, ATS 364,-, mit CDEinführung in Java, von der Installation bis zu Applets Einführung in Java, von der Installation bis zu Applets und HTML-Seiten. Keine Anhänge zum und HTML-Seiten. Keine Anhänge zum Nachschlagen.Nachschlagen.

Page 54: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

JavaScript: LiteraturJavaScript: Literatur

JavaScript - The Definition GuideJavaScript - The Definition GuideDavid Flanagan, O‘Reilly&Associates, Inc, 1996David Flanagan, O‘Reilly&Associates, Inc, 1996ISBN 1-56592-193-3, englischISBN 1-56592-193-3, englischPrägnante Zusammenfassung, nicht unbedingt ein Prägnante Zusammenfassung, nicht unbedingt ein Einsteigerbuch. Sehr gute Auflistung aller Einsteigerbuch. Sehr gute Auflistung aller Bibliotheksfunktionen!Bibliotheksfunktionen!

Page 55: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck.

Unicode: LiteraturUnicode: Literatur

The Unicode Standard, Version 2.0The Unicode Standard, Version 2.0The Unicode ConsortiumThe Unicode ConsortiumAddison-Wesley Developers Press, 1997Addison-Wesley Developers Press, 1997ISBN 0-201-48345-9, englisch, mit CDISBN 0-201-48345-9, englisch, mit CDKomplette Darstellung des UnicodeKomplette Darstellung des Unicode


Recommended