Professional Documents
Culture Documents
Dies sind die in der obenstehenden Vorlesung verwendeten Folien. Sie sind ausschlielich fr den persnlichen Gebrauch zur
Prfungsvorbereitung bestimmt. Eine Verffentlichung, Vervielfltigung oder Weitergabe ist ohne unsere schriftliche
Zustimmung nicht gestattet.
Die Folie wurde von F. Bauer und R. Grosso vom Lehrstuhl fr Informatik 9 erstellt.
Friedrich-Alexander-Universitt Erlangen-Nrnberg
Erlangen, 07. Oktober 2014 F. Bauer
Fahrer
Gib Gas!
(Frank)
Auto
(Kfer)
1 - Erste Schritte
Mein erstes Programm
Menschen knnen damit aber nur schlecht umgehen. Deswegen schreibt man Programme nicht direkt im
Maschinencode, sondern in Hochsprachen, z.B. Java.
Hallo Welt
1
2
3
4
5
1
2
3
4
5
Hallo Welt!
10
1
2
3
4
5
1
2
3
4
5
11
12
Mit System.out.println() wird eine Ausgabe auf der Konsole erzeugt. Ausgegeben wird dabei die
Zeichenkette, die in Klammern angegeben ist (hier Hallo Welt). Zeichenketten werden in Java immer
von doppelten Anfhrungszeichen umschlossen!
1
2
3
4
5
1
2
3
4
5
Neben System.out.println() gibt es noch System.out.print(). Erstere erzeugt nach dem angegebenen
Text einen Zeilenumbruch, die zweite nicht.
1
2
3
Hallo Welt
!
13
Programme
Java-Anwendungen
bestehen aus einer oder mehreren Klassen,
jede Klasse steht in einer eigenen Datei, die den Namen der Klasse und die Endung .java hat
(mindestens) eine dieser Klassen hat eine main-Methode
1 - Erste Schritte
Bestandteile von Programmen
15
14
Quellcode
Beispielprogramm
Sprachregeln
Wie fr eine natrliche Sprache gibt es auch fr eine Programmiersprache einen fest vorgegebenen
Wortschatz und eine Grammatik. Diese Regeln muss man auswendig knnen.
Das Problem beim Programmieren ist nicht das Anwenden der Regeln, sondern das bersetzen eines
natrlichsprachlichen Problemes in eine Folge von Anweisungen, die ein Rechner ausfhren kann.
Dieser Transfer muss praktisch gebt werden!!!
Aber Achtung!
Das Text-Layout bezeichnet lediglich die optische Formatierung des Quelltextes, z.B. Leerzeilen,
Einrckungen, Zeilenumbruch, etc. Das Layout beeinflusst nicht die Lauffhigkeit eines Programmes.
Layout und Syntax-Highlighting vereinfachen die Lesbarkeit des Quelltextes.
Aufgabe: Gegeben sei eine natrliche Zahl n. Berechnen Sie das Produkt der natrlichen Zahlen von 1
bis n und geben Sie dies auf der Konsole aus.
17
Beispielprogramm
18
Beispielprogramm
Aufgabe: Gegeben sei eine natrliche Zahl n. Berechnen Sie das Produkt der natrlichen Zahlen von 1
bis n und geben Sie dies auf der Konsole aus.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
public class Fakultaet {
public static void main(String[] args) {
int faq = 1;
int n = 4;
for (int i = 1; i <= n; i++) {
faq *= i;
}
System.out.println("Fakultaet(" + n + ") = " + faq);
}
}
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
public class Fakultaet {
public static void main(String[] args) {
int faq = 1;
int n = 4;
for (int i = 1; i <= n; i++) {
faq *= i;
}
System.out.println("Fakultaet(" + n + ") = " + faq);
}
}
Programmelemente
Zeilen 6 + 15: Definition der Klasse Fakultaet
Fakultaet(4) = 24
19
20
Beispielprogramm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Beispielprogramm
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
public class Fakultaet {
public static void main(String[] args) {
int faq = 1;
int n = 4;
for (int i = 1; i <= n; i++) {
faq *= i;
}
System.out.println("Fakultaet(" + n + ") = " + faq);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Programmelemente
Zeilen 6 + 15: Definition der Klasse Fakultaet
Zeilen 7 + 14: Definition der main-Methode
Programmelemente
Zeilen 6 + 15: Definition der Klasse Fakultaet
Zeilen 7 + 14: Definition der main-Methode
Zeilen 8 - 13: Programmanweisungen
21
Beispielprogramm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
public class Fakultaet {
public static void main(String[] args) {
int faq = 1;
int n = 4;
for (int i = 1; i <= n; i++) {
faq *= i;
}
System.out.println("Fakultaet(" + n + ") = " + faq);
}
}
22
Kommentare
Kommentare werden vom Compiler (bersetzer) und damit auch von der Maschine ignoriert. Kommentare
sind vor allem in greren Softwareprojekten und Teams unabdingbar!
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
public class Fakultaet {
public static void main(String[] args) {
int faq = 1;
int n = 4;
for (int i = 1; i <= n; i++) {
faq *= i;
}
System.out.println("Fakultaet(" + n + ") = " + faq);
}
}
Programmelemente
Zeilen 6 + 15: Definition der Klasse Fakultaet
Zeilen 7 + 14: Definition der main-Methode
Zeilen 8 - 13: Programmanweisungen
Zeilen 1 - 5: Kommentar (fr JavaDoc)
23
24
Kommentare
Kommentare
Kommentare werden vom Compiler (bersetzer) und damit auch von der Maschine ignoriert. Kommentare
sind vor allem in greren Softwareprojekten und Teams unabdingbar!
Kommentare werden vom Compiler (bersetzer) und damit auch von der Maschine ignoriert. Kommentare
sind vor allem in greren Softwareprojekten und Teams unabdingbar!
Kommentararten:
Zeilenkommentare
Kommentararten:
Zeilenkommentare
int a = 10; // Der Zeilenkommentar geht bis zum Ende der Zeile
int a = 10; // Der Zeilenkommentar geht bis zum Ende der Zeile
Mehrzeilige
1
2
3
4
25
Kommentare
Kommentare
/*
* Dies ist ein Standard-Kommentar.
* Er kann
uber mehrere Zeilen gehen.
*/
26
Kommentare
Kommentare werden vom Compiler (bersetzer) und damit auch von der Maschine ignoriert. Kommentare
sind vor allem in greren Softwareprojekten und Teams unabdingbar!
Sie dienen dazu:
das Programm zu dokumentieren oder
Teile des Programmcodes kurzzeitig zu deaktivieren (auskommentieren).
1
2
3
4
5
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
int a = 10; // Der Zeilenkommentar geht bis zum Ende der Zeile
Mehrzeilige
1
2
3
4
Kommentare
/*
* Dies ist ein Standard-Kommentar.
* Er kann
uber mehrere Zeilen gehen.
*/
JavaDoc-Kommentare
1
2
3
4
5
/**
* Die Klasse <code>Fakultaet</code> berechnet die
* Fakult
at-Funktion f
ur eine Nat
urliche Zahl n.
* @author Frank Bauer
*/
27
28