1 / 36

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java. 2. Vorlesung WS 2001/2002. Übersicht. Besprechung der Übungsaufgabe Struktur von Java-Programmen Aufbau eines Java-Programms Sprachelemente Variablen und primitive Datentypen Wertzuweisung Ausdrücke und Operatoren arithmetische Terme

tirzah
Download Presentation

Einführung in die Programmierung mit Java

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 mit Java 2. Vorlesung WS 2001/2002

  2. Übersicht • Besprechung der Übungsaufgabe • Struktur von Java-Programmen • Aufbau eines Java-Programms • Sprachelemente • Variablen und primitive Datentypen • Wertzuweisung • Ausdrücke und Operatoren • arithmetische Terme • Boolesche Ausdrücke (Aussagenlogik) • Typkonversion T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  3. Übungsaufgabe vom 24. 10. • Ausgabe einer Visitenkarte auf dem Bildschirmz.B.: ********************************** * * * Thomas H. Kolbe * * Wissenschaftlicher Assistent * * am IKG, Uni Bonn * * * ********************************** T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  4. Lösung: Folge von Ausgabe-Anweisungen Programm „Visitenkarte.java“ class Visitenkarte { public static void main (String args[]) { System.out.println("********************************"); System.out.println("* *"); System.out.println("* Thomas H. Kolbe *"); System.out.println("* Wissenschaftlicher Assistent *"); System.out.println("* am IKG, Uni Bonn *"); System.out.println("* *"); System.out.println("********************************"); } } T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  5. Struktur von Java-Programmen • Programme bestehen aus Klassen (class) • Klassen bestehen aus Methoden (und Feldern) • Methoden bestehen aus einer Folge von Anweisungen • Genau eine Klasse hat Methode "main" (Hauptprogramm) • Jede Klasse (class-Definition) muss in einer eigenen, gleichnamigen Quelltextdatei definiert werden (.java) • ergo: pro Klasse eine Datei und umgekehrt • Groß-/Kleinschreibung im Quelltext istsignifikant T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  6. Das minimale Java-Programm • besteht aus genau einer Klasse • mit genau der Methode main, die das Hauptprogramm enthält. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  7. Dateiname entsprichtdem Klassennamen(auch bzgl. Groß-/Kleinschreibung) Erläuterung am Programm Rechnen.java Programm „Rechnen.java“: // Programm Rechnen.java // Errechnet 12+32*4 und gibt das Ergebnis aus. // Autor: T. Kolbe classRechnen { public static voidmain (String args[]) { System.out.println("12+32*4 ergibt"); System.out.println(12+32*4); } } Klassendefinition Methoden-definition T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  8. Sprachelemente • Anweisung • einzelner Befehl oder Methodenaufruf • Block • Gruppierung von Befehlen • Ausdruck • Term, der einen Wert besitzt bzw. zurückliefert • Kommentare • Bezeichner • selbst vergebene Namen für Klassen, Variablen etc. • Groß-/Kleinschreibung ist signifikant! T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  9. Wdh.: Kommentare im Programmquelltext • Zur Erhöhung der Lesbarkeit sollten alle Programmteile durch Kommentare näher erläutert werden. • Kommentare werden vom Compiler überlesen • Einzeilige Kommentare • Einleitung durch // • Beendigung durch Zeilenende • Beispiel: // Dies ist ein Kommentar • Längere Kommentare (auch über mehrere Zeilen) • Einleitung mit /* • Beendigung durch */ • Beispiel: /* Dies ist ein Kommentar */ T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  10. Bezeichner • Bezeichner sind vom Programmierer zu vergebene Namen für • Klassen, Methoden, (Pakete) • Variablen • Syntax: Beliebig lange Zeichenfolge aus • Buchstaben inkl. Umlaute • Ziffern • Dem Dollarzeichen $ oder dem Unterstrich _ • Bezeichner müssen mit einem Buchstaben anfangen • Keine Schlüsselwörter • Schlüsselwörter sind reservierte Wörter wie z.B. class, void, true, false, null, ... T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  11. Bezeichner Schlüsselwörter Erläuterung am Programm Rechnen.java Programm „Rechnen.java“: // Programm Rechnen.java // Errechnet 12+32*4 und gibt das Ergebnis aus. // Autor: T. Kolbe classRechnen { public static voidmain (String args[]) { System.out.println("12+32*4 ergibt"); System.out.println(12+32*4); } } 3 Kommentarzeilen T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  12. Anweisungen • Anweisungen werden verwendet • zur Definition von Klassen und Methoden • zur Deklaration von Variablen • zum Aufruf von Methoden (vglb. Prozeduren in C, Pascal) • zum Aufruf eingebauter Befehle: Kontrollstrukturen, Wertzuweisungen zu Variablen, ... • Eine ausgeführte Anweisung gibt i.d.R. keinen Rückgabewert zurück • Jede Anweisung muß im Quelltext mit einem Semikolon (;) abgeschlossen werden T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  13. Blöcke • Ein Block dient zur Gruppierung einer Folge von Anweisungen • Syntax: {Anweisung1; ...Anweisungn;} • Die Anweisungen innerhalb eines Blocks werden nach außen als eine Anweisung betrachtet • Innerhalb eines Blocks werden Anweisungen in der Reihenfolge ausgeführt, in der sie im Quelltext stehen. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  14. Erläuterung am Programm Rechnen.java Programm „Rechnen.java“: // Programm Rechnen.java // Errechnet 12+32*4 und gibt das Ergebnis aus. // Autor: T. Kolbe classRechnen { public static voidmain (String args[]) { System.out.println("12+32*4 ergibt"); System.out.println(12+32*4); } } 1. Block:Klassendefinition 2. Block:Methodendefinition T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  15. Variablen: Deklaration • Variablen sind Platzhalter für Werte • Variablen müssen vor der Verwendung deklariert („angemeldet“) werden. • Variablendeklaration: Typ Variablenbezeichner; • inti; charmy_char;booleanb; doublemeinezahl; • Mehrere Variablen gleichen Typs:Typ V1,...,Vn ; • inti, j, k; charzeichen_a, zeichen_b; T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  16. Ganze Zahlen Komma-zahlen Primitive Datentypen T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  17. Variablen: Wertzuweisung • Wertzuweisung: Variable =Ausdruck; • i=34; j=i+2;b=true; meinezahl=3.1415; • Deklaration und Wertzuweisung in einem Schritt: • int i=34; double meinezahl=3.1412; • Die erste Wertzuweisung zu einer Variablen wird auch als ihre Initialisierung bezeichnet. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  18. Ausdrücke • Alle Operationen, die einen Wert zurückliefern, stellen einen Ausdruck dar • Einfache Ausdrücke sind • konstante Werte, wie z.B. 5 oder 3.14152 oder true • Variablen, wie z.B. t oder meineVariable • Funktionsaufrufe (Methoden, die einen Wert zurückliefern) • Der Wert eines Ausdrucks wird als Rückgabewert bezeichnet • Der Rückgabewert besitzt einen Typ T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  19. Komplexe Ausdrücke • Komplexe Ausdrücke entstehen durch Verknüpfung von Ausdrücken mittels Operatoren • Rekursive Definition: Komplexe Ausdrücke sind ebenfalls wieder Ausdrücke • Runde Klammern beeinflussen die Auswertungsreihenfolge • Beispiele: • 3+4*12 • (3+4)*12 • (2.0 + Math.sin(3.1)) / Math.tan(x – Math.cos(0.85)) T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  20. Operatoren: Stelligkeit • Unäre oder monadische (einstellige) Operatoren  • haben einen Operanden x • Syntax: Funktionsaufruf  (x) oder Präfix-Darstellung  x • Beispiele: Math.sin(x) oder –10 • Binäre oder dyadische (zweistellige)Operatoren  • haben zwei Operanden x und y • Syntax: Funktionsaufruf  (x,y) oder Infix-Darstellung x  y • Beispiele: a+b oder 10 / 2 oder meineFunktion(32, x) • Ternäre oder tryadische (dreistellige) Operatoren  • haben drei Operanden x, y und z • Syntax: Funktionsaufruf  (x,y,z) T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  21. Arithmetische Ausdrücke • Ist der Rückgabewert eines Ausdrucks vom Typ • byte, short, int oder long (ganzzahlig) oder • float oder double („Kommazahl“), • so wird dieser als arithmetischer Ausdruck bezeichnet. • Die Operanden von arithmetischen Operatoren sollten im Regelfall vom selben Typ sein • Beispiele: 4+2 (int) 5.21 / 1.0 (double) T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  22. Arithmetische Operatoren • +, -, *, / : Addition, Subtraktion, Multiplikation, Division • Division: ganzzahlig, wenn beide Operanden ganzzahlig sind, sonstfloat/double • int i = 9 / 4; //i ist 2double d = 3.6 / 6; //d ist 0.6 • Modulo-Operator %: Rest der Ganzzahldivision • int i = 5;int j = i % 3; // j ist 2 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  23. Übung im GIS-Labor • Schreiben Sie ein Programm, das den Umfang und den Flächeninhalt eines Kreises mit Radius r (float-Variable) berechnet (pi  3.14159). Die Ausgabe sollte etwa folgendermaßen aussehen: Ein Kreis mit Radius 5.0 hat den Umfang 31.4159 und den Flächeninhalt 78.53975. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  24. Typkonversion • Problemlos (vom kleineren zum größeren):double d;int i = 3;d = i + 7; • Explizit (vom größeren zum kleineren):double d = 3.0;int i;i = (int) (d + 7); Wert_mit_neuem_Typ = (Typname)Wert_mit_altem_Typexplizite Typkonvertierung wird als Casting bezeichnet Primitive Datentypen T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  25. Benutzung von Funktionen der Klasse Math • Die wichtigsten mathematischen Funktionen sind in der Klasse Math definiert. • Die Klasse Math ist Bestandteil der Standard-Funktionsbibliothek java.lang • Zur Benutzung der Funktionen (präziser: Methoden) sind keine besonderen Vorbereitungen notwendig • Aufruf der Funktion f(x) durch Voranstellen von „Math.“ • Beispiel:double a = Math.sin(34.21); • Die Funktionen sind in der Online-Dokumentation von Java (des JDK) erläutert. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  26. Funktionen der Klasse Math (1) • Trigonometrische Funktionen • double sin(double x) Sinus • double cos(double x) Cosinus • double tan(double x) Tangens • double asin(double x) Arcussinus (sin-1) • double acos(double x) Arcuscosinus (cos-1) • double atan(double x) Arcustangens (tan-1) Winkel werden im Bogenmaß angegeben! • Potenzierung, Wurzeln, Logarithmen • double exp(double x) Eulerfunktion ex • double log(double x) natürlicher Logarithmus • double pow(double x, double y) xy • double sqrt(double x) Quadratwurzel T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  27. Funktionen der Klasse Math (2) • Minimum und Maximum • int min(int x, int y) minimum(x,y) • long min(long x, long y) minimum(x,y) • float min(float x, float y) minimum(x,y) • double min(double x, double y) minimum(x,y) • int max(int x, int y) maximum(x,y) • long max(long x, long y) maximum(x,y) • float max(float x, float y) maximum(x,y) • double max(double x, double y) maximum(x,y) • Mathematische Konstanten (Pi, E) • double PIKreiszahl • double E Eulerzahl e T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  28. Funktionen der Klasse Math (3) • Runden und Abschneiden • int abs(int x) | x | • long abs(long x) | x | • float abs(float x) | x | • double abs(double x) | x | • double ceil(double x) x  • double floor(double x) x  • int round(float x) x+0.5  • Zufallszahlen • double random() 0  Zufallszahl < 1 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  29. Die Klassen-Dokumentation des JDK • Alle Klassen der Standard-Funktionsbibliothek sind vollständig dokumentiert 3. Aufklappen des Javadoc- Verzeichnisses 1. Anwählen des Edit-Tabs • Dokumentation ist abrufbar über Forté: 4. Öffnen des Browsers durch Doppelklick aufindex 2. Anwählen des Javadoc-Tabs T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  30. Klassen-Dokumentation in Forté (1) Klassen-Dokumentation T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  31. Klassen-Dokumentation in Forté (2) Alle Klassen der Java-Standard-Bibliothek Erläuterungen T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  32. Boolesche Ausdrücke • Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet(nach dem Mathematiker George Boole). • Boolesche Ausdrücke können nur die zwei (Wahrheits-)Werte true oder false annehmen. T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  33. Komplexe Boolesche Ausdrücke Komplexe Boolesche Ausdrücke werden mit den Mitteln der Aussagenlogik gebildet: • Nicht / Negation:¬ true = false¬ false = trueNegation in Java: ! Wert • Und-Verknüpfung: false  false = false false  true = false true  false = false true  true = trueUnd-Verknüpfung in Java: Wert1 & Wert2 • Oder-Verknüpfung: false  false = false false  true = true true  false = true true  true = trueOder-Verknüpfung in Java: Wert1 | Wert2 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  34. Relationale Operatoren • Relationale Operatoren setzen ihre Operanden zueinander in Beziehung und liefern den Wahrheitswert der Beziehung zurück. • Beispiele: 5 < 3 ergibt false(4-2)=2 ergibt true T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  35. Operatorenreihenfolge (Priorität) T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

  36. Übungsaufgaben 1. Simulation eines Würfels: Schreiben Sie ein Programm, das bei jedem Aufruf eine zufällige ganze Zahl zwischen 1 und 6 ausgibt. 2. Logische Ausdrücke a) true & false | true b) (10>2) & (!true==false) c) true==(4!=3) & !(3<=3) 1. Notieren Sie die Ausdrücke 1.-3. in mathematischer Schreibweise; z.B.: ¬ true  (32  true) 2. Wie lauten die Wahrheitswerte der Ausdrücke 1.-3. ? T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

More Related