Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

37
Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java

Transcript of Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

Page 1: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

Prénom Nom© 2010, Université de Fribourg

Einführung in die Programmierung mit Java

Page 2: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

2

Agenda

1. Einführung in die Programmiersprachen

2. Und Java?

3. Die Grundlagen der Programmierung

4. Unser erstes Programm in Java

Page 3: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

3

Einführung in die Programmiersprachen

Was ist ein Algorithmus? Welche Sprache versteht ein Computer? Was ist ein Programm? Was ist eine Programmiersprache? …und Java? Was macht Java hier?

Page 4: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

4

Definitionen

Algorithmus: endliche Reihe von Regeln welche in einer bestimmten Ordnung auf eine endliche Menge von Daten angewandt wird, um nach einer endlichen Anzahl Schritte zu einem Resultat zu gelangen.

Daten: strukturierte Form der Informationen. Programm: übersetzte Form eines Algorithmus in eine vom

Computer verstandene Sprache.Ein Programm ist eine Reihe von Anweisungen, welche die Operationen die auf die Daten angewandt werden, definiert.

Problem Methode Algorithmus Programm

Page 5: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

5

Algorithmus

Das Wort Algorithmus stammt aus dem Mittelalter und ist der lateinische Name des persischen Mathematikers al-Khuwārizmī (~783-850).

Das Prinzip eines Algorithmus ist hingegen schon seit der Antike bekannt (Bsp: Euklidischer Algorithmus, bekannt seit 300 v. Chr.).

Page 6: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

6

Beispiel aus dem täglichen Leben

Wie macht man Kaffee?1. Wasser zum sieden bringen.

2. Kaffee in die Tasse geben.

3. Heisses Wasser in die Tasse geben.

Kochrezept

Page 7: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

7

Eigenschaften von Algorithmen

Algorithmen sind unabhängig vom Computer der sie ausführt.

Algorithmen sind unabhängig von der Sprache in die sie übersetzt werden.

Man kann sie auf Deutsch formulieren, mit Hilfe von Diagrammen oder als pseudo-code.

Page 8: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

8

Beispiel eines Algorithmus

Problem:Wie berechnet man die Zinsen und den Kontostand nach einem Jahr mit festem Zinssatz?

Eingabe: Kontostand am Anfang des Jahres Zinssatz

Ausgabe: Abgeworfene Zinsen, Neuer Kontostand

Algorithmus: 1. Den Kontostand mit dem Zinssatz multiplizieren und durch

100 teilen2. Den unter 1. erhaltenen Betrag zum Kontostand hinzufügen3. Die Resultate von 1. und 2. ausgeben.

Page 9: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

9

Algorithmen definieren

Das vorangegangene Beispiel zeigt drei Schritte, die in den meisten Problemlösungen vorkommen:

1. Das Problem verstehen und die Daten (Input) erkennen.

2. Definieren welche Antwort (Output) man erwartet.

3. Festlegen wie die Daten behandelt werden müssen, um das gewünschte Resultat zu erhalten.

Problem Methode Algorithmus Programm

Page 10: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

10

Algorithmen: Methodik

Eine Technik um komplizierte Probleme lösen zu können, ist die top-down Methode.

Prinzip: Zerkleinern des Problems in kleinere Einheiten die

einfacher sind und separat behandelt werden; Jede dieser Einheiten wird ihrerseits wieder in kleiner Stücke

aufgeteilt. Es ist wichtig zu wissen wann man aufhören muss! Sobald der Algorithmus steht, muss man ihn noch in eine

von Computer verstandene Sprache übersetzen?

Problem Methode Algorithmus Programm

Page 11: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

11

Die Maschinensprache

Der Prozessor spricht eine spezielle Sprache, die Maschinensprache. Dabei handelt es sich um Daten wie sie beim Prozessor ankommen, das heisst eine Folge von 0 und 1 (man nennt sie auch binär-daten).

Berechne denDurchscnitt !

Wir können diese Sprache nicht verstehen. Deshalb brauchen wir eine andere Sprache, mit der wir mit dem Computer kommunizieren können. Diese Zwischensprache

nennt man Programmiersprache.

01101011001

Page 12: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

12

Compiler

Kode der in dieser Zwischensprache geschrieben ist, muss in Maschinensprache übersetzt werden, bevor der Prozessor den Anweisungen folgen kann.

Diese Programme werden vom Compiler in Maschinensprache übersetzt.

Eine Programmiersprache ist für uns Menschen ein Mittel, um einem Computer Anweisungen zu geben.

Compiler

Für alle NotenBerechne die Summe;Berechen die Anzahl;Durchschnitt = Summe/Anzahl

Berechne denDurchschnitt !

01101011001

Page 13: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

13

Programme

Ein Informatik Programm ist eine Folge von Anweisungen, welche vom Computer ausgeführt werden. Die Anweisungen werden eine nach der anderen ausgeführt.

Die Anweisungen werden in einer Programmiersprache geschrieben.

Wie man ein Programm schreibt, hängt stark von der gewählten Programmiersprache ab, denn es gibt viele Programmiersprachen.

Zusätzlich muss der richtige Compiler ausgewählt werden. Jede Programmiersprache hat ihren eigenen Compiler.

Page 14: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

14

Quellkode

Ein Programm ist eine einfache Textdatei, geschrieben mit einem Editor oder Textverarbeitungsprogramm. Man nennt diese Datei Quelldatei.

Die Quelldatei enthält mehrere Linien Kode. Man nennt diese Linien Quellkode. Die Quelldatei muss kompilierbar sein.

Der Compiler baut eine ausführbare Datei. Sie enthält alles was es braucht um selbständig zu funktionieren (unter Microsoft Windows enden diese Dateien mit .exe).

Page 15: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

15

Agenda

1. Einführung in die Programmiersprachen

2. Und Java?

3. Die Grundlagen der Programmierung

4. Unser erstes Programm in Java

Page 16: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

16

Die Sprache Java

Java ist eine Programmiersprache Die wurde von den Angestellten der Sun

Microsystems kreiert, unter anderem von James Gosling.

Java wurde erstmals am 23 Mai 1995 offiziell präsentiert.

"Duke" ist das Maskottchen der Programmiersprache Java.

Java ist ein enormer technischer Erfolg. Die Sprache Java wird seit mindestens 10 Jahren in der ganzen Welt gebraucht.

Natürlich auch in der Schweiz…

Page 17: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

17

Java ist überall

Heutzutage ist Java überall. Man findet Java auf über 2 Billionen Maschinen in der ganzen Welt.

Page 18: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

18

Der Java Ansatz

Java ist anders: Quellcode (.java) wird in Bytecode (.class) übersetzt. Bytecode ist eine Zwischensprache und ist portabel auf andere Betriebssysteme.

Eine Maschine versteht Java, wenn sie die virtuelle Maschine von Java (JVM) installiert hat.

Page 19: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

19

Die virtuelle Maschine von Java

Quellcode wird in eine .java Datei geschrieben.

Der Compiler übersetzt den Quellcode in Bytecode und speichert ihn in einer .class Datei.

Dieser Bytecode wird von der virtuellen Maschine Java (JVM) ausgeführt.

Die JVM ist für alles Betriebssysteme verfügbar.

Ein Java Programm wird demnach einmal geschrieben und kompiliert und kann dann beliebig ausgeführt werden.

Man sagt dass Java portabel ist."Write Once, Run Anywhere"™

Page 20: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

20

Java-Plattform

Java ist ein Programmiersprache. Sie wird von einer Entwicklungs-Umgebung begleitet die aus folgenden Teilen besteht: Die virtuelle Maschine Ein Compiler Eine Kollektion von Bibliotheken (wiederverwendbare(r)

Kode/Programme die dem Entwickler zur Verfügung stehen) Werkzeuge, Beispiele, Umgebungen und vieles mehr…

Man nennt eine solche Umgebung Plattform.

Page 21: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

21

Java-Plattform

Java EE – Enterprise Edition:Umfasst “Client - Server” Technologien.

Java SE – Standard Edition:Umfasst Technologien um Einzelplatz-Anwendung zu schreiben.

Java ME – Micro Edition:Umfasst Technologien welche es erlauben tragbare Geräte zu programmieren (Natel, PDA usw.). Diese Geräte haben meistens begrenze Ressourcen.

Page 22: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

22

Agenda

1. Einführung in die Programmiersprachen

2. Und Java?

3. Die Grundlagen der Programmierung

4. Unser erstes Programm in Java

Page 23: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

23

Grundlagen der Programmierung

Sehen wir uns nun einige Grundkonzepte der Programmierung an:VariabelnZuordnungKontrollstrukturen

(if...else und for)Funktionen

Page 24: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

24

Variabeln

Variabel: Abstraktion eines Ortes im Speicherdurch einen Namen

identifiziert,man kann ihr im Laufe der

Zeit verschiedene Werte (Information) zuordnen,

besitzt einen Typ.x

nom

fini

Name

6.14

karin

true

Wert

réel

texte

booléen

Typ

karint

rue

6.14

x

nom

fini

Page 25: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

25

Zuordnung

Zuordnung: Operation die einen Wert in einer Variable speichert.

Der gespeicherte Wert ist oft das Resultat der Evaluation eines Ausdrucks (Expression).

Eine Variable dient dazu, eine Information für einen späteren Gebrauch zu speichern.

So liesst es sich:y = 0 liesst sich "y wird der Wert 0 zugeschrieben"

x = 3 + Pi

Konstanteohne Namen

Variable KonstanteMit Namen

y = 0

Konstanteohne Namen

Variable

6.14

x

Page 26: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

26

Beispiele in Java

Deklarieren einer Variable: ihr einen Namen und einen Typ geben int x; int y; int sum;

Einer Variable einen Wert zuordnen: x = 3; y = 4; sum = x + y;

Page 27: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

27Sequentielles Ausführen von Instruktionen

Der normale Ausführungsfluss ist sequentiell: nach dem Ausführen einer elementaren

Instruktion, wird anschliessend die gleich darauffolgende Instruktion im Programm aktiv.

Mit der Hilfe von Kontrollinstruktionen ist es möglich, diesen linearen Verlauf abzuändern: bedingte (konditionelle) Instruktionen Instruktionen für „Repetition“ oder „Iteration“

oder Schlaufen

Page 28: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

28

Bedingte (konditionelle) Instruktion

Durch die Evaluation einer Bedingung (Kondition) wird bestimmt, ob der folgende Instruktionsblock ausgeführt wird oder nicht.

Das Resultat der Bedingung ist typischerweise boolesch (true / false).

Weiche: Wenn-Dann-Sonstwenn Bedingung

dann Instruktion1

[sonst Instruktion2]

ende_wenn

Page 29: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

29

Befehle1

Befehle2

Befehle3

IF Struktur

Die IF Struktur ist:

if (expression1) { Befehle1} else if (expression2) { Befehle2} else Befehle3}

if expression1 liesst sich „wenn expression1 wahr ist".

Die Abschnitte else if und else sind optional.

Page 30: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

30

Beispiel in Java

Algorithmus „Maximum zweier ganzen Zahlen":

int x; int y; int max; x = 123; y = 456;if (x > y) {

max = x;} else {

max = y;}

Page 31: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

31

wah

r

fals

chIterative Instruktion

Solange eine Bedingung erfüllt istsolange Bedingung

mache Instruktionen ende_solange

Erlaubt es, den gleichen Instruktionsblock mehrmals hintereinander auszuführen.

Diese Instruktion evaluiert eine Repetitionsbedingung die entscheidet, ob der Instruktionsblock noch einmal ausgeführt wird oder nicht („man geht aus der Schlaufe“).

Page 32: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

32

FOR Struktur

Die FOR Struktur erlaubt eine Instruktion n mal zu wiederholen.

for (Initialisierung; Bedingung; Inkrement) {Befehle

}

Initialisierung wird einmal am Anfang der Schlaufe ausgeführt.

Solange Bedingung wahr ist, werden die Befehle ausgeführt.

Das Inkrement wird nach jeder Iteration ausgeführt; oft inkrementiert dieser Ausdruck einen Wert.

wah

r

fals

ch

Page 33: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

33

Beispiele in Java

Algorithmus „die n ersten Zahlen aufsummieren“:int sum;sum = 0;for (int i = 1; i < 6; i++) {

sum = sum + i;}

Algorithmus „Anzahl e‘s in einem Wort ":String s;s = "Donaudampfschiffahrtsgesellschaft";

int count;count = 0;for ( int i = 0; i < s.length(); i++ ) {

if ( s.charAt(i) == 'e' ) {count++;

}}

Page 34: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

34

Methoden

Man kann einen Teil eines Kodes als Methode oder Funktion definieren.

Eine Funktion ist also ein Unterprogramm, das Eingaben (Parameter oder Input) und eine Ausgabe (Output) hat.

Die Funktionen erlauben ein Programm zu zerlegen und zu strukturieren.

Funktionen werden auch Methoden oder Prozeduren genannt.

Eine Programmiersprache stellt mehrere Funktionen zur Verfügung (mathematisch, Umgang mit Daten, …).

Page 35: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

35

Deklaration einer Methode

Eine Methode wird wie folgt deklariert:returnType methodName(paramType p, ...) { commands} returnType ist der Typ des Rückgabewerts der

Methode methodName ist der Name der Methode paramType und p sind der Typ und Name des ersten

Parameters der Methode (formeller Parameter) commands repräsentiert den Körper der Methode, das

sind die Instruktionen die in dieser Methode ausgeführt werden.

Danach kann die Methode aufgerufen werden, indem man ihr aktuelle Parameter übergibt:methodName(x,…);

Page 36: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

36

Beispiele in Java

Deklaration der Methode, die den grösseren Wert zweier ganzer Zahlen zurückgibt:

int max(int a, int b) {if (a > b) {

return a;} else {

return b;}

} Aufruf der Methode:

max(123, 456); Andere Beispiele:

boolean isEven(int x);String reverse(String s);int average(int a, int b);

Page 37: Prénom Nom © 2010, Université de Fribourg Einführung in die Programmierung mit Java.

© 2010, Université de Fribourg

37

PAUSE !

FRAGEN ?