Einführung in die Programmierung mit Java

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
Variablen und Datentypen
Java: Grundlagen der Sprache
Imperative Programmierung Funktionen und Parameter
Imperative Programmierung
Einführung in die Programmierung mit Java
Einführung in die Programmierung mit Java
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
Programmieren mit JAVA
Programmieren mit JAVA
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
Zusammenfassung Vorwoche
Das erste Programm (Folie 16)
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.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Allgemeines zu Java Universelle, objektorientierte Programmiersprache
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Programmierung 1. Einführung Seite 1
Unterprogramme in JAVA
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
PHP: Operatoren und Kontrollstrukturen
Hochschule Fulda – FB ET Sommersemester 2014
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
(Syntax, Strings/Zahlen, Variablen, Arrays)
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.
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
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 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)
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.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 14. Vorlesung WS 2001/2002.
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,
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.
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
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 Einführung in die Programmierung mit Java 1. Vorlesung WS 2003/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 2003/2004.
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 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.
Variablen und Datentypen
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Java Programme nur ein bisschen objektorientiert.
Einführung in die Programmierung mit Java
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Einführung in die Programmierung mit Java
Implementieren von Klassen
 Präsentation transkript:

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 Boolesche Ausdrücke (Aussagenlogik) Typkonversion T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

Übungsaufgabe vom 24. 10. Ausgabe einer Visitenkarte auf dem Bildschirm z.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

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

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

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

Erläuterung am 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); } Dateiname entspricht dem Klassennamen (auch bzgl. Groß-/ Kleinschreibung) Klassendefinition Methoden- definition T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

Sprachelemente Anweisung Block Ausdruck Kommentare Bezeichner 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

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

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

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

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

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

Erläuterung am 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); } 1. Block: Klassendefinition 2. Block: Methodendefinition T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

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 V1,...,Vn ; int i, j, k; char zeichen_a, zeichen_b; T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

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

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

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

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

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

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

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

Ü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

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

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

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

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 PI Kreiszahl  double E Eulerzahl e T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

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

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 auf index 2. Anwählen des Javadoc-Tabs T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

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

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

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

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: Wert1 & Wert2 Oder-Verknüpfung: false  false = false false  true = true true  false = true true  true = true Oder-Verknüpfung in Java: Wert1 | Wert2 T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

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

Operatorenreihenfolge (Priorität) Assoziativität 1 + - Vorzeichen (unär) rechts ! logische Negation (Typ) Typkonversion 2 * / % Multiplikation, Division, Rest links 3 Addition, Subtraktion 4 < <= kleiner, kleiner gleich > >= größer, größer als 5 == Gleichheit != Ungleichheit 6 & logisches Und 7 | logisches Oder 8 = Wertzuweisung T. H. Kolbe - Einführung in die Programmierung mit Java - 1. Semester - WS 01/02

Ü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