Institut für Kartographie und Geoinformation Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit Java 3. Vorlesung WS 2003/2004.

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

der Universität Oldenburg
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Forschungszentrum caesar
Einführung in JavaScript II
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
Imperative Programmierung
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
Zusammenfassung Vorwoche
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Grundkonzepte Java - Klassendefinition
Einführung in die Programmiersprache C 1
Informatik 1 Übung 2.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Allgemeines zu Java Universelle, objektorientierte Programmiersprache
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
BMEVIEEA100 Grundlagen der Programmierung
PHP: Operatoren und Kontrollstrukturen
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 4. Vorlesung WS 2001/2002.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 3. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/2004.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 02/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2)
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit Java 4. Vorlesung WS 2004/2005.
Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003 Institut für Kartographie und Geoinformation Prof.-Dr. Lutz Plümer, Dr. Gerhard Gröger,
Java-Kurs - 3. Übung Boolesche Operatoren vom Problem zum Programm
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit Java 3. Vorlesung WS 2004/2005.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/2003.
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Einführung in die Programmierung mit Java
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 3. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/2003.
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Variablen und Datentypen
Java Programme nur ein bisschen objektorientiert.
Schwarz, Lubkoll : Javakurs LE Organisatorisches ● Wer sind wir? ● Was machen wir hier? ● Was haben wir davon? ● Was habt ihr davon?
Einführung in die Programmierung mit Java
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Einführung in die Programmierung mit Java
 Präsentation transkript:

Institut für Kartographie und Geoinformation Dr. Gerhard Gröger, Dipl.-Ing. Dirk Dörschlag Einführung in die Programmierung mit Java 3. Vorlesung WS 2003/2004

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/042 Übersicht Nachtrag zu Ausdrücken –Typkonvertierung –Zahlenkonstanten in arithmetischen Ausdrücken –Reihenfolge der Auswertung Mathematische Funktionen: die Klasse "Math" Kontrollstrukturen –for-Schleifen –bedingte Programmausführung

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/043 Wdh.: Hausaufgaben Bearbeitung der Hausaufgaben: –Abgabe bis spätestens zum Anfang der nächsten Veranstaltung Alle Lösungen bitte in Papierform und bei Programmen zusätzlich per (als Attached Documents) an Schickt bitte nur die.java-Datei, nicht die.class. Der Dateiname und folglich auch der Klassenname müssen den Nachnamen der Bearbeiterin bzw. des Bearbeiters enthalten! Einwurf der Ausarbeitungen in den weißen Briefkasten im Erdgeschoss, neben dem Ausgang zum Hof

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/044 Typkonversion für arithmetische Ausdrücke Vom kleineren zum größeren: Problemlos double d; int i = 3; d = i + 7; Vom größeren zum kleineren: Explizit double d = 3.0;double d = 3.8; int i;int i; i = (int) (d + 7);i = (int) (d + 7); Wert_mit_neuem_Typ = (Typname) Wert_mit_altem_Typ explizite Typkonvertierung wird als Casting bezeichnet

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/045 Zahlenwerte in arithmetischen Ausdrücken ganzzahlige Konstanten (z.B. 113, , 0) werden immer als int interpretiert Gleitkommakonstanten (z.B , -4.56e-10, 0.0) werden immer als double interpretiert Bei Zuweisung eines konstanten Zahlenwertes zu einer Variablen eines kleineren Typs muss eine explizite Typumwandlung angegeben werden. Beispiele: float f = 3.0; short kleinezahl = 10; (float) (short)

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/046 Operatorenreihenfolge (Priorität) PrioritätOperatorenAssoziativität 1 + -Vorzeichen (einstellig)rechts 1 (Typ)Typkonversionrechts 2 * / %Multiplikation, Division, Restlinks 3 + -Addition, Subtraktionlinks 4 =Wertzuweisungrechts Beispiel: i = (int) / i = + Ganzzahlige Division

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/047 Operatorenreihenfolge (Assoziativität) PrioritätOperatorenAssoziativität 1 + -Vorzeichen (einstellig)rechts 1 (Typ)Typkonversionrechts 2 * / %Multiplikation, Division, Restlinks 3 + -Addition, Subtraktionlinks 4 =Wertzuweisungrechts Beispiel: double i = 5 / 10 / i = /1.0 Ganzzahlige Division

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/048 Operator + für Zeichenketten ("Strings") Beispiel: –statt: System.out.print("Die Temperatur "); System.out.print(FahrenheitIn); System.out.print(" entspricht in Celsius "); System.out.print(CelsiusOut); System.out.println(".") –einfacher: System.out.print("Die Temperatur " + FahrenheitIn + " entspricht in Celsius " + CelsiusOut + "."); Der Operator "+" verkettet zwei Zeichenketten, wenn mindestens ein Operand eine Zeichenkette ist. Was gibt System.out.print( "x") aus? Was gibt System.out.print("x" ) aus? 11x x47

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/049 Mathematische Funktionen: die Klasse "Math" Die wichtigsten mathematischen Funktionen sind in der Klasse Math definiert. Funktionen (präziser: Methoden) von Math können in Ausdrücken verwendet werden –Aufruf der Funktion f(x) durch Voranstellen des Klassennamens „Math.“ (inkl. Punkt) –Beispiel: double a = Math.sin(34.21); Die Klasse Math ist Bestandteil der Standard- Funktionsbibliothek java.lang Die Funktionen sind in der Online-Dokumentation von Java (des JDK, Java Development Kit) erläutert.

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0410 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

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0411 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

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0412 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

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0413 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

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0414 Klassen-Dokumentation in Forté (1) Klassen-Dokumentation

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0415 Klassen-Dokumentation in Forté (2) Alle Klassen der Java-Standard- Bibliothek Erläuterungen

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0416 Übung I im GIS-Labor Simulation eines Würfels: Schreibt ein Programm, das bei jedem Aufruf eine zufällige ganze Zahl zwischen 1 und 6 ausgibt. Tip: Nutzt die Methode random() der Klasse Math!

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0417 Kontrollstrukturen: for-Schleife dient zur Iteration (wiederholten Ausführung) von Anweisungen Syntax: for ( Initialisierung ; Test ; Inkrementierung ) Anweisung; // Schleifenrumpf Initialisierung ist eine Anweisung, in der typischerweise eine Zählvariable (i.d.R. ganzzahlig) mit einem Startwert initialisiert wird. Test ist ein boolean-Ausdruck (d.h. er ist entweder wahr oder falsch). Der Schleifenrumpf wird solange wiederholt, wie der Ausdruck wahr (true) ist. Inkrementierung ist eine Anweisung, in der typischerweise die Zählvariable inkrementiert (erhöht) oder dekrementiert (erniedrigt) wird.

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0418 Beispiel 1 zur for-Schleife Anmerkung: Sind im Schleifenrumpf mehrere Anweisungen auszuführen, so sind diese Anweisungen durch geschweifte Klammern zu einem Block zusammenzufassen. Programm: class Schleife1 { public static void main (String args[]) { int i; for (i=1; i<=5; i=i+1) System.out.println("Hallo Welt!"); } Ausgabe: Hallo Welt! Initialisierung Test Inkrementierung Schleifenrumpf

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0419 Beispiel 2 zur for-Schleife Anmerkung: Sind im Schleifenrumpf mehrere Anweisungen auszuführen, so sind diese Anweisungen durch geschweifte Klammern zu einem Block zusammenzufassen. Programm: class Schleife1 { public static void main (String args[]) { int Summe = 0; int i; for (i=1; i<=5; i=i+1) Summe = Summe + i; System.out.println(Summe); } Ausgabe: 15

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0420 Beispiel 2 zur for-Schleife Anmerkung: Sind im Schleifenrumpf mehrere Anweisungen auszuführen, so sind diese Anweisungen durch geschweifte Klammern zu einem Block zusammenzufassen. Programm: class Schleife1 { public static void main (String args[]) { int Summe = 0; int i; for (i=1; i<=5; i=i+1) { Summe = Summe + i; System.out.println(Summe); } Ausgabe:

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0421 Kontrollstrukturen: if-then-else dient zur bedingten Ausführung von Programmteilen Syntax: if ( boolean-Ausdruck ) Anweisung1; // Then-Teil else Anweisung2; // Else-Teil Anmerkung: Boolesche Ausdrücke sind entweder wahr oder falsch, z.B. x>3 (vgl. Vorlesung nächste Woche) Sind im Then- oder Else-Teil mehrere Anweisungen auszuführen, so sind diese Anweisungen durch geschweifte Klammern zu einem Block zusammenzufassen.

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0422 Beispiel zur for-Schleife und if-then-else Programm: class Schleife2 { public static void main (String args[]) { int i; for (i=1; i<=8; i=i+1) { System.out.print(i); if (i % 2 == 0) // ist i modulo 2 = 0? System.out.println(" ist gerade"); else System.out.println(" ist ungerade"); } Ausgabe: 1 ist ungerade 2 ist gerade 3 ist ungerade 4 ist gerade 5 ist ungerade 6 ist gerade 7 ist ungerade 8 ist gerade Boolescher Ausdruck mit Gleichheitsrelation "==" (im Gegensatz zu Zuweisung "=")

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0423 Übung II im GIS-Labor Sie haben eine Summe von Euro gespart, die Sie anlegen möchten. Rechnen Sie aus, wie viel Geld Sie bei einem jährlichen Zinssatz von 2,7% am Ende des ersten, zweiten, dritten, vierten und fünften Jahres insgesamt zur Verfügung haben. Geben Sie für jedes Jahr den entsprechenden Betrag aus. Wie sind die Ergebnisse für die ersten 23 Jahre bei einer Anlagesumme von EUR und einem jährlichen Zinssatz von 3,1%?

G. Gröger - Einführung in die Programmierung mit Java - 1. Semester - WS 03/0424 Hausaufgabe: Erzeugt 1000 zufällige double-Werte und gebt das Minimum, das Maximum sowie den Durchschnitt aller Werte aus. Hinweis: Das Minimum (Maximum) der Werte ist der kleinste (größte) aller Werte.