1 / 73

Einführung in die Programmierung in JAVA AG SS 2003

Einführung in die Programmierung in JAVA AG SS 2003 Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de> Jochen Franke <jfranke@wiwi.uni-frankfurt.de> Daniel Beimborn <beimborn@wiwi.uni-frankfurt.de> Donnerstag 14.00 – 16.00 Uhr – Raum 220 C. Ablaufplan.

nola
Télécharger la présentation

Einführung in die Programmierung in JAVA AG SS 2003

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einführung in die Programmierung in JAVA AG SS 2003 Veranstalter: Tim Stockheim <stockheim@wiwi.uni-frankfurt.de> Jochen Franke <jfranke@wiwi.uni-frankfurt.de> Daniel Beimborn <beimborn@wiwi.uni-frankfurt.de> Donnerstag 14.00 – 16.00 Uhr – Raum 220 C Grundlagen der Java-Programmierung

  2. Ablaufplan • 8.05.2003 Installation des JDK,Variablen, arithmetische Operatoren, Schleifen • 15.05.2003 logische Operatoren, Bedingungen, Methoden, Eclipse als IDE • 22.05.2003 Klassenkonzept und Vererbung, Pakete, Beispiele • 05.06.2003 Exceptions, weitere Programmbeispiele • 12.06.2003Input/Output- Operationen auf Datei- system und Netzwerkebene Grundlagen der Java-Programmierung

  3. Die Programmiersprache JAVA • Literaturhinweise zu Java: • Guido Krüger: Handbuch der Java-Programmierung, 3. Auflage Addison-Wesley, 2002kostenlos im Netz: http://www.javabuch.de • David Flanagan: Java in a Nutshell, O‘Reilly Verlag, 4. Auflage, 2000 • David Flanagan: Java Examples in a Nutshell, O‘Reilly, 2. Auflage, 2001 WWW-Adresse: http://www.javasoft.com Grundlagen der Java-Programmierung

  4. Java Einführung Tim Stockheim Grundlagen der Java-Programmierung

  5. Die Programmiersprache JAVA • Entwickelt von SUN Microsystems mit dem Ziel einer Programmiersprache für PDAs • Sprachkonzept erwies sich als ideal für die Anforderungen des WWW • Erste Version 1995 vorgestellt • Syntax ähnelt der von C bzw. C++, inhaltlich bestehen aber deutliche Unterschiede Grundlagen der Java-Programmierung

  6. JAVA ist plattformunabhängig • Weil sich Java-Programme in ein plattformunabhängiges Byte-Codeformat übersetzen lassen, kann eine Java-Anwendung auf jedem System ausgeführt werden, solange auf diesem System die Java Virtual Machine implementiert ist. Grundlagen der Java-Programmierung

  7. JAVA ist plattformunabhängig • Das ist insbesondere für Anwendungen wichtig, die über das Internet oder andere heterogene Netzwerke verteilt werden. • Ein architekturunabhängiger Ansatz ist aber auch über den Rahmen netzwerkbasierter Anwendungen hinaus sinnvoll. Grundlagen der Java-Programmierung

  8. JAVA ist objektorientiert • In einem objektorientierten System besteht eine Klasse aus einer Reihe von Daten, sowie aus Methoden, die mit diesen Daten arbeiten. • Zusammengenommen beschreiben Daten und Methoden den Zustand und das Verhalten eines Objekts. Grundlagen der Java-Programmierung

  9. JAVA ist objektorientiert • Klassen werden in einer Hierarchie angeordnet, so dass Unterklassen das Verhalten von übergeordneten Klassen (Superklassen) erben können. • Eine Klassenhierarchie besitzt immer eine Stammklasse. Diese Klasse besitzt ein sehr allgemeines Verhalten. Grundlagen der Java-Programmierung

  10. Animal Dogs Cats Jochen Daniel Tim Grundlagen der Java-Programmierung

  11. JAVA ist objektorientiert • Java wird mit einem sehr umfangreichen Satz von Klassen ausgeliefert. Diese sind in Paketen angeordnet, die in den Programmen verwendet werden können. • Beispielsweise stellt Java Klassen zur Verfügung, mit denen Komponenten grafischer Benutzerschnittstellen erzeugt werden können (das java.awt-Paket). Grundlagen der Java-Programmierung

  12. JAVA ist objektorientiert • Java stellt Klassen zur Verfügung, mit denen die Ein- und Ausgabe behandelt wird (das java.io-Paket), sowie Klassen, die die Netzwerkfunktionalität unterstützen (das java.net-Paket). Grundlagen der Java-Programmierung

  13. JAVA ist interpretiert • Java ist eine interpretierte Sprache: Der Java-Compiler erzeugt einen Byte-Code für die Java Virtual Machine (JVM) und keinen direkten Maschinencode. • Um ein Java-Programm auszuführen, wird der Java-Interpreter benutzt, der den kompilierten Byte-Code ausführt. Grundlagen der Java-Programmierung

  14. Begriffe • Eigenständige Applikation ("normales, ausführbares Programm") • Applet: • innerhalb eines Web-Browser oder eines Applet-Viewer ausführbar. • Container bildet zweites Betriebssystem • teilt Einschränkungen des Web-Browsers: • kein Lese-Zugriff auf Dateisystem des Clientrechner (außer: Benutzer erlaubt es) • nur Verbindung zum Host, von dem es geladen wurde • keine Möglichkeit des Starts von auf dem Clientrechner vorhandenen Programmen Diese Modell wird auch als Sandbox bezeichnet. Grundlagen der Java-Programmierung

  15. Java Development Kit (JDK) • Plattformen: • Windows, Macintosh, Linux, Sun Solaris, ... • Befehlszeilenorientiertes Tool • JDK - Zusammensetzung aus mehreren Tools: • Compiler: javac • Interpreter: java • Disassembler: javap • Appletviewer: appletviewer • ... Grundlagen der Java-Programmierung

  16. JAVA Tutorial Grundlagen der Java-Programmierung

  17. JAVA: Die Syntax • Jede Anweisung muß mit einem Semikolon (;) abgeschlossen werden. • JAVA unterscheidet Groß-/Kleinschreibung, d.h. z.B. "anzahl" ungleich "Anzahl". • Beliebiges Einfügen von Leerzeichen / Leerzeilen zwischen Anweisungen zulässig. • Kommentare innerhalb eines JAVA-Programms werden mit "/*" eingeleitet und mit "*/" beendet, z.B. /* Dies ist ein Kommentar */ • Kommentare, die nur bis zum Zeilenende gehen, werden mit "//" eingeleitet, z.B. // Kommentar Grundlagen der Java-Programmierung

  18. Beispiel 1 class HelloWorld { public static void main( String[] args) { System.out.println(“Hello World!“); } } • Dieses Programm besteht, wie jedes Java-Programm, aus einer Klassendefinition vom Typ public. Grundlagen der Java-Programmierung

  19. Beispiel 1 • Die Klasse enthält eine Methode namens main(), die den Einstiegspunkt für alle Java-Anwendungen darstellt, d.h. an diesem Punkt beginnt der Java-Interpreter mit der Ausführung des Programms. • main()selbst besteht nur aus einer einzigen Zeile, die unsere Nachricht ausgibt: Hello World! Grundlagen der Java-Programmierung

  20. Beispiel 1 • Das Programm muß in einer Datei gesichert werden, die den gleichen Namen besitzt, wie die public-Klasse, wobei noch die Erweiterung .java anzuhängen ist. • Um das Programm zu kompilieren, verwendet man javac C:\>javac HelloWorld.java • Dieser Befehl erzeugt die Datei HelloWorld.class im aktuellen Verzeichnis. Grundlagen der Java-Programmierung

  21. Beispiel 1 • Um das Programm auszuführen, wird der Java-Interpreterjava verwendet: C:\>java HelloWorld • Beachten Sie beim Aufruf des Interpreters, daß der Dateiname ohne das anhängende .class angegeben wird. Grundlagen der Java-Programmierung

  22. JAVA: Variablen • Variablen repräsentieren Speicherplätze zur Aufnahme veränderlicher Werte in einem Programm. • erlaubte Zeichen für Variablennamen: • Buchstaben des engl. Alphabets (ohne Umlaute), • 10 Ziffern, • Unterstrich "_". • Die erste Stelle darf keine Ziffer sein! • Programmierer dürfen keine reservierten Wörter für eigene Namen verwenden (z.B. main, int,...) Grundlagen der Java-Programmierung

  23. JAVA: Datentypen • Alle Variablen müssen deklariert werden, bevor sie benutzt werden können. • Notation für Variablendeklaration: Datentyp variable1,...,variablen; • Bedeutung: Variable1,...,Variablen sind vom angegebenen Datentyp. • Beispiel: int v1, v2, v3; char v4; byte v5; Grundlagen der Java-Programmierung

  24. JAVA: Datentypen • Datentypen definieren Struktur und Wertebereiche der von einem Programm zu verarbeitenden Daten. • elementare Datentypen in JAVA (Call by value): boolean - Wahrheitswert byte, short, int, long - ganze Zahlen Beispiel: int a; // erzeugt eine Variable vom Typ int. boolean b = true; /* erzeugt einen Wahrheitswert und setzt diesen auf true */ Grundlagen der Java-Programmierung

  25. Solange (Bedingung)erfüllt ist: führe Anweisungen aus! Wiederholung Schleife: while ( Bedingung) { Anweisung1; Anweisung2; … AnweisungN; } • Beispiel: • Anweisungen: i = i + 1; • Ausgabe von “Zähler ist: “ + i • Bedingung: (i < 10) Grundlagen der Java-Programmierung

  26. Ablaufstruktur: Wiederholung Beispiel für Ablauf mit Wiederholung: class Schleife { /* Diese Klasse testet, das Zählen von 1 bis 10! */ public static void main(String[] args) { int i = 0; while (i<10) { i=i+1; System.out.println(„Zähler: "+i); } } } Grundlagen der Java-Programmierung

  27. JAVA: Datentypen • weitere elementare Datentypen in Java float Gleitkommazahl double Gleitkommazahl char einzelnes Zeichen Grundlagen der Java-Programmierung

  28. Gleitkommazahlen (Fließkommazahlen, Floating Point Numbers) • zur näherungsweisen Darstellung reeller Zahlen auf Rechnern. • Zahlen werden dargestellt in der Form m . be • b, e ganze Zahlen • m = Mantisse, gibt Zahlenwert an • e = Exponent, charakterisiert die Größenordnung der Zahl • b = Basis (z.B. 10) • z.B. 12.25: 0.1225 . 102 122.5: 0.1225 . 103 Grundlagen der Java-Programmierung

  29. JAVA: Arithmetik Operatoren werden nur auf elementare Datentypen (und Strings [+]) angewendet. + Addition - Subtraktion; Vorzeichen * Multiplikation / Division (int-Typen: ganzzahliger Anteil: 17/3 = 5) % Divisionsrest (nur bei int-Typen: 17%3 = 2) Grundlagen der Java-Programmierung

  30. Java Einführung - Beginn zweiter Teil - Grundlagen der Java-Programmierung

  31. JAVA: Arrays • Felder zur Erfassung mehrerer Variablen vom selben Typ • Arrays müssen initialisiert werden. • Auslesen bzw. beschreiben darf nur im initialisierten Bereich erfolgen. Beispiel: int[] b = new int[10]; /* erzeugt ein Feld vom Typ int mit 10 Speicherplätzen */ Grundlagen der Java-Programmierung

  32. JAVA: Arrays • Beispielprogramm: public class Schleife2 { public static void main( String[] args) { int a[] = new int[10]; int i = 0; a[0] = 2; while (i<10) { System.out.println( "a["+i+"] ist : "+a[i]); i = i+1; a[i] = 2*a[i-1]; } } } Grundlagen der Java-Programmierung

  33. JAVA: Methoden • Eine Methode besteht aus der Deklaration und einem Methodenkörper, wobei dieser in geschweiften Klammern steht. Bsp.:public boolean funct ( int a) { return true; } • public gibt hier die Zugriffsberechtigungen an (jeder) • boolean bedeutet, dass die Methode einen boolean-Wert zurückgeben muss ( true oder false) • int a beschreibt, den Typ und Namen des übergebenen Wertes, wobei a dem Namen innerhalb der Methode entspricht Grundlagen der Java-Programmierung

  34. JAVA: Methoden • "void" weist darauf hin, daß eine Funktion keinen Funktionswert zurückgibt. Bsp.:void funct( int a) gibt keinen Funktionswert zurück. • Falls kein Eingabeparameter benötigt wird, verwendet man ein leeres Klammerpaar: Bsp.:int funct() kann kein Wert übergeben werden Grundlagen der Java-Programmierung

  35. ausdruck nein ja anweisung1 anweisung2 Ablaufstruktur: Alternative if (ausdruck) { anweisung1; } else { anweisung2; } Grundlagen der Java-Programmierung

  36. Logische Ausdrücke(Bedingungen) Logische Operatoren werden nur auf elementare Datentypen. && AND || OR ! NOT (einfaches & oder | auch möglich  beide Seiten werden dann garantiert ausgeführt.) Grundlagen der Java-Programmierung

  37. Ausdruck Fall 1 ... others Anw. 1 Fall N Ausnahme- Anw. Anw. N Ablaufstruktur: Alternative • Switch-Bedingung Grundlagen der Java-Programmierung

  38. Ablaufstruktur: Alternative Switch-Bedingung class unterscheidung { public static void main(String[] args) { int zahl; zahl = Integer.parseInt(args[0]); switch(zahl) { case 1: System.out.println("sehr gut"); break; case 2: System.out.println("gut"); break; case 3: System.out.println("befriedigend"); break; case 4: System.out.println("ausreichend"); break; case 5: System.out.println("mangelhaft"); break; default: System.out.println("Falsche Eingabe!"); } } } Grundlagen der Java-Programmierung

  39. While bedingung anweisung Ablaufstruktur: Wiederholung • abweisende Schleife while ( bedingung) anweisung; • Bedeutung: • Solange bedingung "wahr" (true) ist, wird anweisung ausgeführt. • Abbruchtest vor jedem Schleifendurchlauf. Grundlagen der Java-Programmierung

  40. Ablaufstruktur: Wiederholung Abweisende Schleife: while class Produkt2 { public static void main(String[] args) { int produkt = 1; int i = 0; while ( Integer.parseInt(args[i]) != 0) { produkt *= Integer.parseInt(args[i]); i++; // gleichbedeutend mit i=i+1; } System.out.println("Ergebnis: "+produkt); } } Grundlagen der Java-Programmierung

  41. anweisung do while bedingung Ablaufstruktur: Wiederholung • Wiederholung: annehmende Schleife do anweisung; while (bedingung) • Bedeutung: • anweisung wird ausgeführt, solange bedingung „wahr“ ist. • Abbruchtest nach dem Schleifendurchlauf. • anweisung wird also mindestens einmal ausgeführt. Grundlagen der Java-Programmierung

  42. Ablaufstruktur: Wiederholung Annehmende Schleife: do ... while class Produkt3 { public static void main(String[] args){ int produkt = 1; int i = 0; do { produkt *= Integer.parseInt(args[i]); i++; } while ( Integer.parseInt(args[i]) != 0); System.out.println( "Ergebnis: "+produkt); } } Grundlagen der Java-Programmierung

  43. Exkurs: Wiederholungfor-Schleife Schleife: for( Initialisierung; Bedingung; Änderung) { … } class Produkt3 { public static void main(String[] args){ int produkt = 1; for( int i=0; i<args.length; i++) { produkt *= Integer.parseInt(args[i]); } System.out.println( "Ergebnis: "+produkt); } } Grundlagen der Java-Programmierung

  44. Kommandozeilen-argumente • Das einzige Argument an main()ist ein Array von Strings, der üblicherweise args genannt wird. • Die Länge dieses Arrays ist über args.length verfügbar. • Die Elemente dieses Arrays sind die Argumente, die in der Kommandozeile nach dem Klassennamen angegeben wurden. • Beispiel 2 zeigt ein Programm, das einfach seine Argumente ausgibt: Grundlagen der Java-Programmierung

  45. Beispiel 2 class echo { public static void main(String[] args) { for( int i=0; i < args.length; i++) System.out.print(args[i] + “ “); System.out.print(“\n“); System.exit(0); } } • Zu beachten: main()muß so deklariert sein, daß es void zurückgibt. • Aus einem Java-Programm kann also kein Wert zurückgegeben werden, indem eine return-Anweisung in main() verwendet wird. Grundlagen der Java-Programmierung

  46. Beispiel 2 • Wenn ein Wert zurückgeliefert werden soll, wird System.exit() mit dem gewünschten Integer-Wert aufgerufen(vgl. Beispiel 2). • Zu beachten: die Verarbeitung und Interpretation dieses Exit-Wertes hängt vom Betriebssystem ab. Grundlagen der Java-Programmierung

  47. Einführung in Klassen und Objekte • Eine Klasse ist eine Sammlung von Daten sowie von Methoden, die mit diesen Daten arbeiten. • Die Daten und Methoden dienen zusammengenommen üblicherweise dazu, den Inhalt und die Fähigkeit irgendeiner Art von Objekt zu definieren. Grundlagen der Java-Programmierung

  48. Einführung in Klassen und Objekte • Zum Beispiel kann ein Kreis durch die X/Y-Position seines Mittelpunktes und durch seinen Radius beschrieben werden. • Auf Kreisen können verschiedene Operationen ausgeführt werden: ihren Umfang berechnen; ihre Flächen berechnen; prüfen, ob bestimmte Punkte innerhalb des Kreises liegen usw. Grundlagen der Java-Programmierung

  49. Einführung in Klassen und Objekte • Jeder konkrete Kreis besitzt individuelle Werte (d.h. einen konkreten Mittelpunkt und Radius), aber als Klasse betrachtet besitzen Kreise bestimmte gemeinsame Eigenschaften, die in einer Definition zusammengefaßt werden können. • Zu beachten: die Klassendefinition im folgenden Beispiel 3 enthält Daten und Methoden. Grundlagen der Java-Programmierung

  50. Beispiel 3 public class Circle { public double x, y; // Die Koordinaten des // Mittelpunktes. public double r; // Der Radius. /* Methoden zur Ermittlung des Umfangs und der Fläche des Kreises */ public double circumfence() { return 2 * 3.14159 * r; } public double area() { return 3.14159 * r*r; } } Grundlagen der Java-Programmierung

More Related