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

Slides:



Advertisements
Similar presentations
Wie heißt du? Einführung. | 2 Copyright © Cengage Learning. All rights reserved. Das Alphabet.
Advertisements

M a r c – o l i v e r p a h l Informatik I – Kapitel 8 Höhere objektorientierte Konzepte Zusammenfassung des Kapitel 8 Küchlin, Weber, Einführung in die.
Visualisierung der Funktionsweise des Programms auf S. 9 des Skripts
Fachbereich Elektrotechnik und Informationstechnik
Diskrete Mathe Diskrete Mathematik I Rekursion Vorlesung 3.
Präpositionen!!!!. bis until durch through für for.
There are a number of set phrases in both English and German that consist of a verb + a certain preposition but these phrases differ between the two languages.
Session Tracking Problem: Identifizierung und Speicherung persönlicher Daten Warenkorb Lösung: Session mit ID Anmeldung ID REQ + ID RES ID: JKLMGHNB45kdse43k.
Vorbilder in der Bibel Johannes der Täufer. Die Geburt von Johannes Die Geburt von Johannes dem Täufer war ein Wunder. Obwohl seine Eltern sehr alt waren,
WAS LERNEN WIR UND WARUM? What are we learning and why?
© NFA, Neuromuscular Functional Assessment: Funktionelle Neurologie und Rehabilitation, Hans Garten, 2011 No Go Smiley Dieses Programm kannst du benutzen,
Conjunctions ! Konjunctionen !
Von Spencer Petersen und Kellen Knight. Dative and accusative prepositions are so named because the prepositional phrase that the preposition makes is.
Grundsätze und Herausforderungen der -Archivierung | SER Forum | Dr. Ulrich Kampffmeyer | PROJECT CONSULT Unternehmensberatung | 2007
Der DMS-Markt im Wandel der Zeit: Tendenzen und Auswirkungen | DOMEA Anwenderforum | Dr. Ulrich Kampffmeyer | PROJECT CONSULT Unternehmensberatung | 1999
Deciphering Case. Nominative = Subject First, look for the subject of the sentence. The subject is usually the very first part of the sentence. The sentence.
Migration in die Cloud – so gelingt ein nachhaltiger Umstieg.
A* Pathfinding. Basis A* Algorithmus add the starting node to the open list while the open list is not empty { current node=node from open list with the.
UJeffrey D. Ullman uAnfang von: CS145 - Herbst Stanford University uOnline unter: Folien mit weißem Hintergrund wurden.
Kapitel 3: Erhaltungssätze 3.6 Drehimpulserhaltung.
Spittelauer Lände Wien Einleitung Registrierung Daten Ausnahmen CSR Prüfvorschlag Probleme Dr. Helmut Witzani
Universität Konstanz MPIEW Jena Universität Karlsruhe (TH) Inflexibilitäten und die Rolle strategischer Interaktion bei der Festlegung der Lohn- und Beschäftigungspolitik.
Smart 2 Unit 6 It’s our world! – Crossword puzzle.
Präsentation Baulandbewertung Präsentation am Institut für Stadt- und Regionalforschung Versuch einer Baulandbewertung.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Projektarbeit: Tätigkeits-Bewertungssystem (TBS)
WebGIS als Instrument für die WOZ-Aufnahmen? Jochen Häußler, European Media Lab.
OTTO VON GUERICKE UNIVERSITÄT MAGDEBURG Professorin: apl. Prof. Dr. rer. nat. habil. Heidemarie Bräsel Graphentheorie in der Schule Graphentheorie in der.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
Präsentiert: Dialog am Telefon zwischen Mutter und Tochter Irgendeine Ähnlichkeit mit der Wirklichkeit..... ist kein ZUFALL.
 This is a placeholder text. This text can be replaced with your own text.  The text demonstrates how your own text will look when you replace the placeholder.
Metaphor Graphics – Plant / Growth Enter your subheadline here Description 1 This is a placeholder text. This text can be replaced with your own text.
läuft automatisch Was gibt es Schöneres, als eine festlich geschmückte Wohnung!
PEPPOL (Pan European Public Procurement Online) by IBM
The German Case System This presentation will help you to choose the correct word for “the” “a”, “not a” or “my” when writing German. Answer each question.
Problem
Wie kann man Papier sparen??? Ich möchte euch erklären wie man Papier sparen oder Recyceln kann damit man die Umwelt schützen kann.
Urgeschichte des Faustball. Geschichte 1111555: Antonio Scanio schrieb die erste genaue Beschreibung des Faustballsportes 111 : Goethe.
Theologische Fakultät Titelseite ohne Bildleiste. Titel in Palatino Linotype Fett 24pt, max. 2-zeilig Titelbeschreibung / Unterüberschrift / Autoren Palatino.
ist ein Außerirdischer mit hellseherischen Fähigkeiten, der in riskanten Situationen mit seinem Raumschiff zur Stelle ist. Sicherheit macht mich richtig.
Die rückgedeckte Unterstützungskasse Informationen für den Arbeitnehmer.
Formate der betrieblicher Weiterbildung AußensteuerungSelbststeuerung Lernen in nicht- problematischen Berufs- und Lebenssituationen berufliches, privates,
... und wieso wir uns nicht immer verstehen
Ergebnisse der Erhebung zur MinistrantInnenarbeit 2015 im Bistum Speyer.
Leitfaden zur Erstellung eines Förderungsantrags COIN – Programmlinie „Aufbau“
WATER in German thinking Images and ideas frequently used in Germany.
Fahrer Sebastian Schmitt Rothenbergerweg Wald-Michelbach Tel.:06207/83078 Tel.: 06207/ Sponsorenmappe Familie Mike, Stefanie und Michelle.
Das Thema: „ Wir bereiten uns auf eine Deutschlandreise vor.“
Eingereicht von: kmedia Webdesign Munchen - homepage erstellen lassen.
The Dipole Repeller General equation of an Ellipse.
Welcome to java einfach objektorientiert verteilt interpretierend
Welcome to java einfach objektorientiert verteilt interpretierend
Deutsche Präpositionen
Cases with prepositions
Cases with prepositions
APFEL. LEITER DER FIRMA Diese Firma wurde am 1 April 1976 gegrundet.Der Name der Firma ist Englisch. Apfel (Apfel) das Apfelbild wird im Logo.
Herzlich willkommen SEMINARUNTERLAGEN WEBSHOP. EINFUHRUNG Jede Geschäftsfrau / Jeder Geschäftsmann sollte zumindest einmal Seminarunterlagen von uns gekauft,
ObenWebdesign Agentur Berlin Wenn es um Webdesign Agentur Berlin geht, sollten Sie nicht lange überlegen und direkt eine professionelle Online Marketing.
Wie beheben wir Probleme bei der Produktrückgabeschlüsseln bei der technischen Unterstützungsnummer von Microsoft ?
单击此处添加标题 This text can be replaced with your own text.
This presentation uses a free template provided by FPPT.com Container Transporte Hamburg By Robert Dittmers.
This presentation uses a free template provided by FPPT.com Container Transporte Hamburg By Robert Dittmers.
PILGERN – WARUM, SEIT WANN und WER?. BEDEUTUNG DES WORTES „PILGERN“! Das Wort „Pilger“ kommt aus dem Lateinischen (peregrinus) = „Fremder“. Eine Pilgerreise.
Brauchen Sie Hilfe Wählen Sie Ihre Laden Sie unser kostenloses Handbuch herunter, um mehr über.
Best Software Download & Install
ReduSoft Ltd. Kurzbeschreibungen zu einigen Modulen, die im Programm MathProf 5.0 unter dem Themenbereich Algebra implementiert sind. Matrizen.
Wie kann man einen Urlaub zu erschwinglichen Preisen buchen? Um einen Urlaub zu erschwinglichen Preisen zu buchen, kann auf kein allgemeines Rezept vertraut.
Click the placeholder text and type your own text.
Insert the title of your Presentation here
Ppt宝藏_www.pptbz.com_提供下载 This text can be replaced with your own text.
Presentation transcript:

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

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/022 Übersicht Besprechung der Übungsaufgabe Nachtrag zu Ausdrücken –Zahlenkonstanten in arithmetischen Ausdrücken –Verkürzt ausgewertete logische Ausdrücke Kontrollstrukturen –Schleifen –bedingte Programmausführung Komplexe Datentypen: Arrays –ein- und mehrdimensionale Arrays

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/ Übungsaufgabe vom Schreiben Sie ein Programm, das bei jedem Aufruf eine zufällige ganze Zahl zwischen 1 und 6 ausgibt. Lösung: Verwendung von Math.random() Programm „Zufall.java“ class Zufall { public static void main (String args[]) { double z = Math.random(); // 0 <= z < 1 int würfel = (int) z* ; // 1 <= würfel <= 6 System.out.print("Zufallszahl: "); System.out.println(würfel); }

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2) & (!true==false) 3.true==(4!=3) & !(3<=3) a)Notieren Sie die Ausdrücke in mathematischer Schreibweise; z.B.: ¬ true  (3  2  true) b)Wie lauten die Wahrheitswerte der Ausdrücke ? Lösung zu a) 1.true  false  true 2.(10>2)  (¬true=false) 3.true=(4  3)  ¬(3  3)

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

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/ Übungsaufgabe vom Logische Ausdrücke 1.true & false | true 2.(10>2) & (!true==false) 3.true==(4!=3) & !(3<=3) a)Notieren Sie die Ausdrücke in mathematischer Schreibweise; z.B.: ¬ true  (3  2  true) b)Wie lauten die Wahrheitswerte der Ausdrücke ? Lösung zu a) 1.true  false  true 2.(10>2)  (¬true=false) 3.true=(4  3)  ¬(3  3) zu b)  true  false

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/027 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 = (float) 3.0; short kleinezahl = (short) 10;

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/028 Kontrollstrukturen: for-Schleife dient zur Iteration 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. 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.

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

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0210 Kontrollstrukturen: if-then-else dient zur bedingten Ausführung von Programmteilen Syntax: if ( boolean-Ausdruck ) Anweisung1; // Then-Teil else Anweisung2; // Else-Teil Anmerkung: Sind im Then- oder Else-Teil mehrere Anweisungen auszuführen, so sind diese Anweisungen durch geschweifte Klammern zu einem Block zusammenzufassen.

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

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0212 Verkürzte Auswertung logischer Ausdrücke (I) Vor der Berechnung des Wertes eines (logischen) Operators werden die Werte aller seiner Operatoren bestimmt. Die Und-Verknüpfung && (Konjunktion) und Oder- Verknüpfungen || (Disjunktion) verkürzen u.U. die Auswertung: –Eine Oder-Verknüpfung ist generell wahr, sobald der erste wahre Operand gefunden wird. –Eine Und-Verknüpfung ist generell falsch, sobald der erste falsche Operand gefunden wird. –In diesen Fällen werden bei den Operatoren && und || die restlichen Operanden nicht mehr ausgewertet. –Die Auswertung findet im Regelfall von links nach rechts statt, es sei denn sie wird durch runde Klammern anders vorgegeben.

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0213 Verkürzte Auswertung logischer Ausdrücke (II) Vorteile von && und || gegenüber & und | –oftmals schnellere Programmausführung –Realisierung von Bedingungen mit Vorbedingungen Beispiel: if (d!=0 && 20/d > 5)... Für den Fall d=0 darf der zweite Operand des &&-Operators nicht ausgewertet werden. Aber: auch die Nebeneffekte abgekürzter Operatoren werden nicht ausgeführt (wie z.B. Bildschirmausgaben innerhalb von Funktionen u.ä.)

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0214 Übung im GIS-Labor Schreiben Sie ein Programm, das die Zahlen von 1 bis 50 aufzählt, wobei anstelle der durch drei oder durch sieben teilbaren Zahlen „autsch“ ausgegeben werden soll.

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0215 Kontrollstrukturen: while- und do-while-Schleife while-Schleife: Syntax: while ( boolean-Ausdruck ) Anweisung; Schleife mit Eintrittsbedingung –Anweisung wird 0 bis x-mal ausgeführt do-while-Schleife: Syntax: do Anweisung; while ( boolean-Ausdruck ); Schleife mit Wiederholungsbedingung –Anweisung wird mindestens einmal ausgeführt Hinweis: Sollen mehrere Anweisungen im Schleifenrumpf aus- geführt werden, so müssen diese durch geschweifte Klammern zu einem Block zusammengefasst werden.

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0216 Arrays Bisher: primitive Datentypen (int, double,...) Arrays als erster nicht-primitiver Datentyp Alle Werte haben denselben Typ (z.B. int) Zugriff über Index: my_array[2] = 12; Indizes fangen mit 0 an Integer-Array mit fünf Elementen

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0217 Arbeiten mit Array-Variablen (I) 3 Schritte: (nur Schritt 2 ist wirklich neu) 1. Deklaration int[] my_array; // Array von Integerzahlen 2. Instantiierung my_array = new int[3]; // Erschafft Array mit 3 Elem. 3. Initialisierung my_array[0] = 17; my_array[1] = 0; my_array[2] = -4*my_array[0];

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0218 Arbeiten mit Array-Variablen (II) Alternative: alle drei Schritte auf einmal Deklaration mit impliziter Erschaffung und Initialisierung: int[] my_array = {45, -117, 12, 0, 999}; erschafft ein 5-elementiges Array und initialisiert es mit den aufgezählten Werten (angefangen bei Index 0).

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0219 Hinweise zu Arrays (I) Größe eines Arrays kann erst zur Laufzeit feststehen: int[] my_array; int i =.... //zur Laufzeit berechnet my_array = new int[i]; Größe eines Arrays kann mittels arrayname.length abgefragt werden: int laenge = my_array.length;

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0220 Beispiel zu Arrays Programm: // Bestimmung der kleinsten Zahl eines ganzzahligen Arrays class Minimum { public static void main (String args[]) { int[] my_array = {45,12,1,13,-4,0,-23,1001}; int minimum, i; minimum=my_array[0]; for (i=1; i<my_array.length; i=i+1) if (my_array[i]<minimum) minimum=my_array[i]; System.out.print("Die kleinste Zahl ist "); System.out.println(minimum); } Ausgabe: Die kleinste Zahl ist -23

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0221 Übung im GIS-Labor Schreiben Sie ein Programm, das ein Array mit 6 double-Werten erzeugt, dieses mit selbst gewählten Werten initialisiert und die Summe dieser 6 Werte ausgibt.

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0222 Mehrdimensionale Arrays Anwendungen –zweidimensional: Repräsentation von Matrizen –zwei- und mehrdimensional: Speicherung von Wertetabellen Mehrdimensionale Arrays werden durch Arrays von Arrays dargestellt Syntax zur Deklaration und Instantiierung eines n-dimensionalen Arrays: Typ [ ][ ]...[ ] Arrayname = new Typ [d 1 ][d 2 ]...[d n ]; Beispiel: int[][] matrix = new int[6][3]; erschafft eine zweidimensionale Matrix mit 6 Zeilen und 3 Spalten

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0223 Hinweise zu Arrays (II) Arrays sind keine primitiven Datentypen –Array-Variablen enthalten nicht selbst das Array, sondern verweisen auf ein Array, das durch new irgendwo im Hauptspeicher angelegt wird. Beispiel: int[] myArray=new int[3]; myArray Wert 1 Wert 2 Wert 3  kein simpler Vergleich zweier Arrays möglich: int[] a={7,12,13,0}; int[] b={7,12,13,0}; System.out.println(a==b); ergibt die Ausgabe false

T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/0224 Übungsaufgaben 1.Erzeugen Sie ein Array mit 1000 zufälligen double- Werten und geben Sie das Minimum, das Maximum sowie den Durchschnitt aller Werte aus. 2.Drehen Sie die Reihenfolge der Elemente eines Arrays mit Integerzahlen um und geben Sie das Ergebnis aus. Beispiel:gegeben: {4,12,67,90,-10,39,0,1} Ausgabe: {1,0,39,-10,90,67,12,4} a)unter Verwendung eines zweiten Arrays (Zielarray) b)innerhalb des selben Arrays