pi burgenland java und javascript 1. teil güssing, oktober 1999 martin weissenböck
TRANSCRIPT
![Page 1: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/29.jpg)
Java: OperatorenJava: Operatoren
& & ^ ^ | | && && || || ?: ?: = = opop= = ,,
![Page 30: PI Burgenland Java und JavaScript 1. Teil Güssing, Oktober 1999 Martin Weissenböck](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081515/55204d8149795902118d3d78/html5/thumbnails/55.jpg)
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