Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Einführung in die Programmierung mit Java

Ähnliche Präsentationen


Präsentation zum Thema: "Einführung in die Programmierung mit Java"—  Präsentation transkript:

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 Semester - WS 01/02

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

7 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 Semester - WS 01/02

8 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 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 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 Semester - WS 01/02

11 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 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 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 Semester - WS 01/02

14 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 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; 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 Semester - WS 01/02

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

17 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. T. H. Kolbe - Einführung in die Programmierung mit Java 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 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 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 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 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: (int) / 1.0 (double) T. H. Kolbe - Einführung in die Programmierung mit Java Semester - WS 01/02

22 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 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  ). Die Ausgabe sollte etwa folgendermaßen aussehen: Ein Kreis mit Radius 5.0 hat den Umfang und den Flächeninhalt T. H. Kolbe - Einführung in die Programmierung mit Java 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_Typ explizite Typkonvertierung wird als Casting bezeichnet Primitive Datentypen T. H. Kolbe - Einführung in die Programmierung mit Java 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 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 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 PI Kreiszahl  double E Eulerzahl e T. H. Kolbe - Einführung in die Programmierung mit Java 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 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 auf index 2. Anwählen des Javadoc-Tabs T. H. Kolbe - Einführung in die Programmierung mit Java Semester - WS 01/02

30 Klassen-Dokumentation in Forté (1)
T. H. Kolbe - Einführung in die Programmierung mit Java 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 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 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 = 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 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 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 Semester - WS 01/02

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


Herunterladen ppt "Einführung in die Programmierung mit Java"

Ähnliche Präsentationen


Google-Anzeigen