Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Amalia Stricker Geändert vor über 10 Jahren
1
PI Burgenland Java und JavaScript 1. Teil
Güssing, Oktober 1999 Martin Weissenböck
2
Java Eigenschaften Wurzeln Sprachelemente Entwicklungswerkzeuge
Didaktische Qualität Zusammenfassung
3
Java: objektorientiert
Datenkapselung: Datenelemente und Unterprogramme (Methoden) in einer Klasse vereinigt Vererbung: Übernahme von Daten und Methoden, Ergänzung bzw. Überschreiben von Methoden Polymorphie: alle Klassen sind „virtuell“
4
Java: verteilt Java-Bibliotheken sind über das Internet erreichbar
Java-Bibliotheken können auch in einem lokalen Netz zur Verfügung gestellt werden Verwendetes Protokoll: TCP/IP
5
Java: robust Keine Pointer-Arithmetik (wie in C), daher kein illegaler Speicherzugriff möglich Prüfung von Array-Indizes; damit wird die Überschreitung von Grenzen verhindert Ausnahmebehandlungen („exception“) müssen vorgesehen werden
6
Java: sicher Java-Programme werden über das Netz verteilt
Byte-Code schützt vor Verfälschungen und Virenbefall Kontrolle durch Prüfsummen Zugriffe auf das Dateisystem nur in der vorgesehenen Weise erlaubt
7
Java: architekturunabhängig
Byte-Code erlaubt den Einsatz auf allen Systemen, sofern das Laufzeitsystem vorhanden ist: Einsatz einer „virtuellen Maschine“ Beispiele: UNIX, Windows 9*, Windows NT, OS/2, Apple, Sun... Wirtschaftliche Bedeutung, Rechtsstreitigkeiten!
8
Java: portierbar Alle Datentypen sind intern immer gleich dargestellt
Beispiele: int ist immer eine 32-Bit-Zahl, mit Vorzeichen float ist immer eine 32-Bit-Zahl gemäß IEEE-754-Spezifikation
9
Java: interpretiert Byte-Code wird interpretiert
Kein Linken von Programmteilen Keine Make-Prozeduren Klassen können unabhängig von einander geändert werden Neuübersetzung des gesamten Programms bei Änderungen nicht notwendig
10
Java: hohe Rechenleistung
Byte-Code ist dem Maschinencode schon sehr ähnlich Einfaches Realisieren von Multithreading-Tasks Dadurch Geschwindigkeitssteigerung Weitere Beschleunigung durch Just-in-time-Compiler (Übersetzung des Byte-Code auf der Zielmaschine in deren Maschinencode)
11
Java: multithreadfähig
Quasi-paralleles Abarbeiten unterschiedlicher Aufgaben bringt Geschwindigkeitsvorteile Einfache Realisierung von Threads durch die Ableitung einer neuen Klasse
12
Java: dynamisch Werden in einer Superklasse neue Methoden oder Instanzvariablen eingeführt, müssen die Subklassen nicht geändert werden Speicherplatz wird mit new angefordert Speicherplatz wird automatisch freigegeben.
13
Java: kompakt Keine Include-Dateien (Header-Files)
Alle Informationen in einer Datei Übersichtliche Größe durch das Teilen in einzelne Dateien (Teilen in Klassen)
14
Java: Eigenschaften (1)
Applets: in HTML-Dateien eingebettet Interaktion Animation Interpreter: Netscape, Internet Explorer o.ä. Appletviewer Plattformunabhängig Win95/98, Win NT/2000, Mac OS 7.5, Solaris, Win 3.1x
15
Java: Eigenschaften (2)
Applications: Selbständige JAVA-Programme Laufzeitinterpreter (*.CLASS) Compiler (*.EXE) Kostenlose Nutzung: Compiler, Interpreter, Library, Dokumentation Internetadresse
16
Java: Wurzeln C/C++: Syntax, Kontrollstrukturen, Variablen, Gültigkeitsbereiche Objective-C: Interface-Konzept C++: Klassenkonzept Small-Talk: Erweiterbarkeit zur Laufzeit, dynamische Speicherverwaltung, Multithreading
17
Java: Sprachelemente Grundlegender Aufbau Verzweigungen, Schleifen
Einfache Datentypen Strukturierte Datentypen Unterprogramme Klassen Exceptions
18
Java: Grundlegender Aufbau (1)
Variablennamen (Unicode), Kommentare, Groß-/Kleinschreibung wie in C/C++ Klassen “überall” System-Klasse immer verwendbar public class Hallo { public static void main(String[] args) { System.out.println(“Hallo”); }
19
Java: Grundlegender Aufbau (2)
Ein- und Ausgabe, Variablenvereinbarung: import myio; public class b03 { public static void main(String[] arg) { int zahl1, zahl2, ergebnis; zahl1=myio.readInt(); zahl2=myio.readInt(); ergebnis=zahl1+zahl2; System.out.println(ergebnis); } }
20
Java: Grundlegender Aufbau (3)
Eine Applet-Referenz: import java.applet.Applet; //Anweisung import java.awt.Graphics; // Directory-Struktur public class HalloAp extends Applet //Klasse { public void paint (Graphics g) //Minimum! { g.drawString(“Hallo”,50,25); }
21
Java: Grundlegender Aufbau (4)
Das zugehörige HTML-File: <title>Hallo Testprogramm</title> <hr> <applet code=“HalloAp.class” width=250 height=80> </applet>
22
Java: Grundlegender Aufbau (5)
Keine externen Variablen/Funktionen Konstanten C/C++ -Schreibweise: const int a=5; Java-Schreibweise: private final static int a=5; Kommentare /* und */, ferner // /** zur Dokumentation
23
Java: Applets Kein main-Programm
eingebettet in einer public class, die von Applet abgeleitet ist eine public-Methode paint Applet-Referenz in einer HTML-Datei Parameterübergabe von der HTML-Datei an das Java-Programm möglich
24
Java: Verzweigungen, Schleifen
if-, switch-Anweisung wie in C/C++ kein goto while-, do/while- und for-Schleifen wie in C/C++ lokale Vereinbarung der Laufvariablen Marken vor geschachtelten Schleifen: break und continue “von innen” möglich
25
Java: Einfache Datentypen
Gleitkomma: float, double Ganzzahlig: byte, short, int, long Logisch: boolean Zeichen: char ...alle auch mit Initialisierung Operatoren wie in C/C++, ferner: Shift+zero extension: x>>>y, x>>>=y String concatenation: +
26
Java: Ganzzahlige Größen
27
Java: Gleitkommawerte, Char
28
Java: Operatoren Höchste Priorität: ( ) [ ] . ++ -- ~ ! * / %
( ) [ ] ~ ! * / % >> >>> << > >= < <= instanceof == !=
29
Java: Operatoren & ^ | && || ?: = op= ,
30
Java: Strukturierte Daten (1)
Felder: int[ ] feld; // oder int feld[ ]; // nur Zeiger, keine Speicherreservierung feld = new int [5]; Alternative: int[ ] feld = new int [5]; kein “free” int[ ] feld = {1, 2, 3+4, 5, 6};
31
Java: Strukturierte Daten (2)
Klassen: Konstruktoren, Methoden und Daten wie in C++ Modifikatoren für den Zugriff: private nur von der eigenen Klasse friendly vom selben Modul aus private protected nur von abgeleiteten Klassen protected auch von abgeleiteten Klassen public von allen Klassen möglich
32
Java: Modifikatoren
33
Java: Variablen/Modifikatoren
static Kennzeichen für Klassenvariable final Wert kann nicht geändert werden (Konstanten!) transient Daten nicht persistent volatile Asynchrone Änderung möglich; keine Optimierung, die Variable bleibt im Speicher
34
Java: Unterprogramme, Klassen
Keine Pointerparameter Keine Referenzen für einfachen Datentypen Ergebnistyp: beliebig Überlagerung möglich (wie in C++) Konstruktoren ähnlich zu C++ super und this zum Zugriff auf die Basis-Klasse und die eigene Klasse keine Destruktoren, aber finalize()
35
Java: Klassen Vererbung: class B extends A {...}
static in einer Klasse leitet eine Initialisierung ein Vererbung: class B extends A {...} keine Mehrfachvererbung (daher auch keine virtuellen Basis-Klassen) statt dessen: interface
36
Java: Exceptions (1) Auslösen: throw new BesondererFehler (a, b);
try { /* das Programm */ } catch (BesondererFehler e) { /* Fehlerbehandlung 1 */ } catch (Exception e) { /* Fehlerbehandlung 2 */ } Auslösen: throw new BesondererFehler (a, b);
37
Java: Exceptions (2) try { /* das Programm */ } finally { /* immer ausführen */ } Exceptions, die von einem Unterprogramm ausgelöst werden können: public static void Bsp() throws BesondererFehler, FehlerX { /* Unterprogramm */ }
38
Java: Entwicklungswerkzeuge
Java Developer’s Kit (Sun, Vers. 1.2) Java Café Lite(Symantec) C++ (Vers. 5.0 von Inprise) mit Java-Compiler J-Buider (Inprise) Visual J++ (Vers. 6.0 von Microsoft, Visual Studio) JDK (frei nutzbar) + WinEdit (Shareware) Sybase, PowerJ (V2.1 für Schulen gratis, V2.5, V3)
39
Java: Didaktische Qualität (1)
40
Java: Didaktische Qualität (2)
41
Java: Didaktische Qualität (3)
Vorteile: Ausstieg aus Schleifen Verwendung von Exceptions Schwerpunkt OOP Dynamische Variablen Viele Klassen Multithreading Interface-Konzept statt Mehrfachvererbung Nachteile: Hoher Aufwand beim Einstieg nur char-Eingabe nur call-by-value bei einfachen Datentypen Komplizierte Syntax
42
Java und JavaScript Java Applets für Webseiten
Applications (selbständ.) Compiler, Just-in-time-Compiler Byte-Code Strenge Typprüfung JavaScript Nur in Webseiten Ausnahme: Server Side JavaScript Nur Interpreter Source-Text Keine Datentypen
43
Java: Zusammenfassung
für professionelle HTML-Präsentationen bald ein “Muß“ gute C/C++-Vorkenntnisse sind nützlich in vielen Punkten einfacher als C++ didaktisch trotzdem nicht optimal gute Entwicklungswerkzeuge schon verfügbar
44
Java: Literatur Java by example: Jerry R. Jackson, Allan L. McClellan SunSoft Press, ISBN Mit CD. In englischer Sprache. Guter Überblick über die Sprache mit vielen Beispielen
45
Java: Literatur Java Handbook Patrick Naughton Osborne McGraw-Hill, 1996 ISBN , $2795 Empfehlenswerte Einführung mit vielen Beispielen Programmbeispiele unter zu finden
46
Java: Literatur Visual J++, Version 1.1 Markus Linke, Markt&Technik, 1997 ISBN Kompaktes Nachschlagewerk, speziell für die Microsoft-Java-Variante Java 1.2 Ralph Steyer, Markt&Technik, 1998 ISBN Kompaktes Nachschlagewerk, neueste Java-Version
47
Java: Literatur Java: Kai Baufeldt, Rolf Mäurers Data Becker, 1996 ISBN (ATS 147,-) Preiswerte, systematische Einführung. Keine Vorkenntnisse erforderlich. HTML-Einführung im Anhang.
48
Java: Literatur Java oder: wie steuere ich meine Kaffeemaschine? Bernhard Davignon, Georg Edelmann tewi-Verlag 1996 (ATS 145,-) ISBN: Noch eine preiswerte Einführung, allerdings geringerer Tiefgang. Keine Anhänge zum Nachschlagen
49
Java: Literatur Learn Java Now Stephen R. Davis, Microsoft Press 1996 In englischer Sprache Empfehlenswert für den Umstieg von C++ auf Java, keine grundlegenden Erläuterungen von einfachen Sprachelementen
50
Java: Literatur Das Einsteigerseminar Java Frank Knobloch, Michael Seeboerger-Weichselbaum (ATS 145,-) bhv 1997, ISBN Einführung samt Zusammenstellung der wichtigsten Klassen. Anhänge
51
Java: Literatur Die Java-Fibel Paul Kühnel, Addison-Wesley ATS 437,- ISBN , mit CD Vorteil: kompakte Zusammenfassung am Anfang Nachteil: komplexes Beispiel schon zu Beginn Komplette Syntax im Anhang
52
Java: Literatur Java Distributed Computing Jim Farley, O‘Reilly, 1997 ISBN , englisch, USD 32,95 Kein Einsteigerbuch. In dieser Reihe sind etliche Bücher zu Java-Spezialthemen erschienen. Hohe fachliche Qualität, empfehlenswert!
53
Java: Literatur Einstieg in Java W.D.Misgeld, J. Gruber Hanser-Verlag, 1996 ISBN , ATS 364,-, mit CD Einführung in Java, von der Installation bis zu Applets und HTML-Seiten. Keine Anhänge zum Nachschlagen.
54
JavaScript: Literatur
JavaScript - The Definition Guide David Flanagan, O‘Reilly&Associates, Inc, 1996 ISBN , englisch Prägnante Zusammenfassung, nicht unbedingt ein Einsteigerbuch. Sehr gute Auflistung aller Bibliotheksfunktionen!
55
Unicode: Literatur The Unicode Standard, Version 2.0 The Unicode Consortium Addison-Wesley Developers Press, 1997 ISBN , englisch, mit CD Komplette Darstellung des Unicode
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.