Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 2. Vorlesung WS 2001/2002.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 2. Vorlesung WS 2001/2002."—  Präsentation transkript:

1 Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 2. Vorlesung WS 2001/2002

2 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/022 Ü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

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

4 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/024 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("********************************"); }

5 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/025 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 ist signifikant

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

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

8 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/028 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!

9 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/029 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 */

10 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0210 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,...

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

12 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0212 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

13 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0213 Blöcke Ein Block dient zur Gruppierung einer Folge von Anweisungen Syntax:{ Anweisung 1 ;... Anweisung n ; } 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.

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

15 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0215 Variablen: Deklaration Variablen sind Platzhalter für Werte Variablen müssen vor der Verwendung deklariert („angemeldet“) werden. Variablendeklaration: Typ Variablenbezeichner; int i;char my_char; boolean b;double meinezahl; Mehrere Variablen gleichen Typs: Typ V 1,...,V n ; int i, j, k;char zeichen_a, zeichen_b;

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

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

18 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0218 Ausdrücke Alle Operationen, die einen Wert zurückliefern, stellen einen Ausdruck dar Einfache Ausdrücke sind –konstante Werte, wie z.B. 5 oder 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

19 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0219 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))

20 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0220 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)

21 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0221 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)

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

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

24 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0224 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_Typ explizite Typkonvertierung wird als Casting bezeichnet Primitive Datentypen

25 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0225 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.

26 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0226 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 e x –double log(double x)natürlicher Logarithmus –double pow(double x, double y)x y –double sqrt(double x)Quadratwurzel

27 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0227 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 EEulerzahl e

28 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0228 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

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

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

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

32 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0232 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.

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

34 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0234 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)=2ergibt true Mathem. NotationJavaErläuterung ===Identität (Gleichheit)  !=Ungleichheit <>größer als  >=größer oder gleich als

35 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0235 Operatorenreihenfolge (Priorität) PrioritätOperatorenAssoziativität 1 + -Vorzeichen (unär)rechts !logische Negationrechts (Typ)Typkonversionrechts 2 * / %Multiplikation, Division, Restlinks 3 + -Addition, Subtraktionlinks 4 < <=kleiner, kleiner gleichlinks > >=größer, größer alslinks 5 ==Gleichheitlinks !=Ungleichheitlinks 6 &logisches Undlinks 7 |logisches Oderlinks 8 =Wertzuweisunglinks

36 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0236 Ü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 in mathematischer Schreibweise; z.B.: ¬ true  (3  2  true) 2.Wie lauten die Wahrheitswerte der Ausdrücke ?


Herunterladen ppt "Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 2. Vorlesung WS 2001/2002."

Ähnliche Präsentationen


Google-Anzeigen