1. Der Einstieg in Java

Werbung
1. Der Einstieg in Java
Was heißt Programmieren?
1. Der Einstieg in Java
Lernziele: Am Ende dieses Kapitels sollen Sie
•
•
•
•
•
wissen, aus welchen Bestandteilen ein Java-Programm besteht,
Java-Programme übersetzen und ausführen können,
Möglichkeiten der Kommentierung von Java-Programmen kennen,
einfachste Java-Programme erstellen können und
Regeln zur Formatierung von Java-Quelltext beherrschen ( Übungen).
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
10
1. Der Einstieg in Java
Was heißt Programmieren?
Was heißt Programmieren?
Ein Programm ist ein Algorithmus, der in einer Programmiersprache formuliert ist.
Arten von Programmiersprachen:
• Maschinensprache ist eine Sprache, die der Prozessor des Rechners direkt versteht.
☞ Notation aus Nullen und Einsen, schwer lesbar
• Assembler: Jedem binären Maschinencode ist für die leichtere Lesbarkeit ein Assemblercode aus Buchstaben und Ziffern zugeordnet.
☞ Abhängigkeit vom Prozessortyp
• Höhere bzw. problemorientierte Programmiersprachen: Es stehen Operationen zur
Verfügung, die nicht eins-zu-eins auf eine Operation des Prozessors abgebildet
werden können.
☞ einfachere Programmierung, nichttriviale Übersetzung in Maschinensprache
notwendig
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
11
1. Der Einstieg in Java
Was heißt Programmieren?
• Ein Übersetzer, der problemorientierte Programme in maschinennahe Programme
transformiert, heißt Compiler.
• Werden Programme nicht vollständig übersetzt und später ausgeführt, sondern
Anweisung für Anweisung übersetzt und später ausgeführt, spricht man von einem
Interpreter.
• Der Java-Compiler übersetzt das sogenannte Quellprogramm in Java-Bytecode,
der unabhängig von einem bestimmten Prozessor ist.
• Der Java-Interpreter analysiert den erzeugten Bytecode schrittweise und führt ihn
aus.
☞ virtuelle Maschine (VM), Plattformunabhängigkeit
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
12
1. Der Einstieg in Java
Was heißt Programmieren?
Java Quellprogramm
Java Compiler
Java Bytecode
Java VM
für Windows
ausführbares
Windows
Programm
Java VM
für Linux
ausführbares
Linux
Programm
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
Java VM
für Mac OS X
ausführbares
Mac OS X
Programm
13
1. Der Einstieg in Java
Was heißt Programmieren?
• Programmieren bedeutet, unter Einsatz einer Programmiersprache ein gegebenes
Problem zu lösen.
• Hierfür sind eine Reihe von Arbeitsschritten notwendig, z.B.: Analyse, Modellierung, Codierung, Compilierung, Ausführung
• Das Schreiben des Programmtextes ist die Codierung. Dies geschieht unter Einsatz eines Texteditors.
• Meistens weisen Programme nach der erstmaligen Codierung Fehler auf. Dies
können sein:
– Syntaxfehler (Fehler in der Grammatik)
– Semantikfehler (Das Programm macht nicht das, was es soll.)
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
14
1. Der Einstieg in Java
Was heißt Programmieren?
Problem
Welches Problem ist zu lösen?
Was erwarte ich von meiner Lösung?
Analyse / Modellierung
algorithmische
Beschreibung
Wie lässt sich das Problem lösen?
Programmierung / Codierung
Programm
Wie bringe ich meine Idee dem Rechner bei?
Z.B. durch ein Java−Programm?
ausführbares
Programm
Wie muss der ausführbare Code aussehen?
Z.B. Java−Bytecode oder Maschinencode?
Übersetzung / Compilierung
Ausführung / Interpretierung
Problemlösung
Ist das Problem gelöst?
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
15
1. Der Einstieg in Java
Mein erstes Java-Programm
Mein erstes Java-Programm
public class Berechnung {
public static void main(String[] args) {
int i;
i = 3 + 4;
System.out.println(i);
}
}
Das Programm berechnet 3 plus 4 und gibt das Ergebnis aus!
✎ Compilierung und Ausführung
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
16
1. Der Einstieg in Java
Mein erstes Java-Programm
Ausdruck, Variable, Zuweisung
i = 3 + 4;
Rechts vom Gleichheitszeichen findet eine Berechnung statt. Solch eine Berechnungsvorschrift heißt Ausdruck. Zu einem Ausdruck geh ört immer ein Wert.
Links steht der Name einer Variablen (hier i). Dieser wird der Wert des Ausdrucks
zugewiesen. Man bezeichnet dies als Zuweisung.
Eine Zuweisung ist eine spezielle Form einer Anweisung.
Einfache Anweisungen werden durch ein Semikolon (;) abgeschlossen.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
17
1. Der Einstieg in Java
Mein erstes Java-Programm
Ganze Zahlen und Gleitkommazahlen
Java unterscheidet zwischen ganzen Zahlen und Gleitkommazahlen. Beispiele für
ganze Zahlen:
0
1
-1
2147483647
Beispiele für Gleitkommazahlen:
0.0
42.314159
1.0
-3.7E2
-1.0
1.9E-17
2147483647.0
.12345
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
18
1. Der Einstieg in Java
Mein erstes Java-Programm
Variablendeklaration
int i;
Damit geben wir bekannt, daß wir eine Variable mit dem Namen i verwenden wollen.
Wir bezeichnen dies als Variablendeklaration.
In Java gilt streng: Jede Variable muß vor ihrer Verwendung deklariert werden (declare
before use).
Ebenfalls gilt streng: Zu jeder Variablen gehört ein Datentyp. Hier int, d.h. ganze
Zahlen (genauer ganze Zahlen zwischen −231 und 231 − 1).
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
19
1. Der Einstieg in Java
Mein erstes Java-Programm
Methodenaufruf
System.out.println(i);
System.out.println ist der Name einer Methode (ein Unterprogramm), mit der
wir Text und Zahlen auf dem Bildschirm ausgeben können.
In Klammern folgt nach dem Methodenname das, was wir der Methode übergeben
wollen. Hier: der Wert der Variablen i.
Die Methode System.out.println ist flexibel einsetzbar. Statt einer Zahl k önnen
wir auch Text ausgeben lassen:
System.out.println("Das Ergebnis ist: ");
System.out.println(i);
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
20
1. Der Einstieg in Java
Mein erstes Java-Programm
Will man beides in einer Zeile ausgeben, können wir
System.out.print("Das Ergebnis ist: ");
System.out.println(i);
oder
System.out.println("Das Ergebnis ist: " + i);
verwenden.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
21
1. Der Einstieg in Java
Mein erstes Java-Programm
Blöcke
Java nutzt zur Strukturierung des Quelltextes sogenannte Bl öcke.
Ein Block wird durch “{” und “}” eingeschlossen.
Unser Beispielquelltext hat zwei Blöcke:
1. Die Klasse
Eine Klasse ist in Java die oberste Struktureinheit. Sie sieht folgendermaßen aus:
public class Klassenname {
. . .
}
Wichtig: Der Dateiname, in der Sie den Quelltext der Klasse speichern, muß
Klassenname.java lauten.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
22
1. Der Einstieg in Java
Mein erstes Java-Programm
2. Die Hauptmethode
Methoden sind Struktureinheiten unterhalb von Klassen.
Jede Klasse, die ein ausführbares Programm darstellen soll, muß eine Methode
mit dem Namen main besitzen:
public static void main(String[] args) {
. . .
}
Den Rest der ersten Zeile der Methode müssen Sie bis auf weiteres genau so wie
hier angegeben verwenden.
✎ Erläuterungen zu Übersetzung und Ausführung.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
23
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Kommentare
Wenn wir (oder andere) nach längerer Zeit einen Java-Quelltext analysieren, werden
wir uns u.U. nicht mehr an den Sinn jeder Anweisung erinnern.
Deshalb ist die Kommentierung von Programmen von großer Wichtigkeit.
Java bietet hierfür drei verschiedene Möglichkeiten:
• Zeilenkommentar
a = b + c; // dies ist ein Kommentar
• Mehrzeiliger Kommentar
/* Kommentar ...
mehr Kommentar ...
letzte Kommentarzeile ...
*/
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
24
1. Der Einstieg in Java
Grundelemente eines Java-Programms
• Dokumentationskommentar
Solche Kommentare beginnen mit /** und enden mit */.
Es sind spezielle Kommentare, aus denen mit dem Programm javadoc eine
HTML-Dokumentation in standardisierter Form erzeugt werden kann.
/**
* Dieses Programm berechnet die Lottozahlen von naechster
* Woche. Dabei erreicht es im Schnitt eine Genauigkeit
* von 99,5%
*
* @author Hans Mustermann
* @date
1998-10-26
* @version 1.0
*/
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
25
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Bezeichner
Wir werden später oft in die Verlegenheit kommen, irgendwelchen Dingen Namen geben zu müssen, z.B. einer Variablen als Platzhalter, um eine Rechnung mit verschiedenen Werten durchführen zu können.
In Programmiersprachen heißen solche Namen Bezeichner.
Bezeichner bestehen aus:
•
•
•
•
Buchstaben a,b,...,y,z,A,...,Z
dem Unterstrich
dem Dollarzeichen $
Ziffern 0,...,9
Darüberhinaus gelten folgende Regeln:
☞ Bezeichner müssen mit einem Buchstaben, dem Unterstrich oder dem Dollarzeichen beginnen.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
26
1. Der Einstieg in Java
Grundelemente eines Java-Programms
☞ Reservierte Wörter dürfen nicht als Bezeichner verwendet werden.
Gültige Bezeichner (in Java):
•
•
•
•
Hallo Welt
_H_A_L_L_O_
hallo123
hallo 123
Keine gültigen Bezeichner (in Java) sind:
•
•
•
•
101Dalmatiner
beginnt mit einer Ziffer
Das war’s
Das Zeichen ’ ist nicht erlaubt
Hallo Welt
Leerzeichen ist nicht erlaubt
class
ist ein reserviertes Wort
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
27
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Literale
Ein Literal bzw. eine Literalkonstante beschreibt einen konstanten Wert, der sich innerhalb eines Programms nicht ändern kann.
Literale haben, abhängig von ihrem Typ, vorgeschriebene Schreibweisen:
•
•
•
•
•
•
ganze Zahlen (z.B. 23 oder -166),
Gleitkommazahlen (z.B. 3.14),
Wahrheitswerte (true und false),
einzelne Zeichen (z.B. ’a’),
Zeichenketten (z.B. "Hallo Welt"),
das sogenannte Null-Literal für Referenzen, dargestellt durch die Literalkonstante
null.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
28
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Reservierte Wörter und Schlüsselwörter
Schlüsselwörter sind Wörter, die mit einer vordefinierten symbolischen Bedeutung belegt sind.
Solche Schlüsselwörter dürfen ebenso wie die Literalkonstanten true, false und
null nicht als Bezeichner verwendet werden.
abstract
case
continue
extends
goto
int
package
short
synchronized
try
assert
catch
default
final
if
interface
private
static
this
void
boolean
char
do
finally
implements
long
protected
strictfp
throw
volatile
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
break
class
double
float
import
native
public
super
throws
while
byte
const
else
for
instanceof
new
return
switch
transient
29
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Trennzeichen und Interpunktionszeichen
Zu welcher Pferderasse gehören Blumentopferde?
Heißt es der, die oder das Kuhliefumdenteich?
Auch der Java-Compiler muß in der Lage sein, einzelne Bezeichner, reservierte
Wörter und Literale voneinander zu trennen. Hierzu dienen:
•
•
•
•
•
•
Leerzeichen
Zeilenendezeichen
Tabulatorzeichen
Kommentare
Operatoren (z.B. + oder *)
Interpunktionszeichen
. , ; ) ( { } [ ]
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
30
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Operatoren und Interpunktionszeichen haben in Java eine besondere Bedeutung. Sie
dürfen daher nur dort eingesetzt werden, wo sie hingeh ören.
Bezeichner, reservierte Wörter und Literale müssen durch mindestens eines der obigen Symbole voneinander getrennt werden. Hierbei ist es in Java eigentlich egal, welche Trennzeichen man verwendet und wie viele davon.
Die Zeile
public static void main (String[] args)
ist äquivalent zu den folgenden Zeilen:
public
static/* */void
main( // ...
String[] args)
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
31
1. Der Einstieg in Java
Grundelemente eines Java-Programms
Operatorsymbole
Operatoren sind spezielle Symbole, die dazu dienen, jeweils bis zu drei unterschiedliche Werte — die Operanden — zu einem neuen Wert zu verknüpfen.
Wir unterscheiden die Operatoren nach der Anzahl ihrer Operanden:
monadische Operatoren sind Operatoren, die nur einen Operanden ben ötigen. Beispiele: ++ oder -dyadische Operatoren vernüpfen zwei Operanden. Beispiele: +, - oder ==
triadische Operatoren verknüpfen drei Operanden. Davon gibt es in Java nur einen:
signum = x >= 0 ? 1 : -1;
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
32
1. Der Einstieg in Java
Grundelemente eines Java-Programms
import-Anweisung
Viele Dinge, die wir in Java benötigen, befinden sich nicht im Kern der Sprache, sondern sind in Klassen ausgelagert, die sich wiederum in Paketen befinden. Dies gilt z.B.
für die Bildschirmausgabe oder mathematische Funktionen wie Sinus oder Cosinus.
Die meisten solcher Klassen müssen explizit importiert werden. Hierzu dient die
import-Anweisung.
Beispielsweise sorgt die Anweisung
import java.io.*;
dafür, daß alle Klassen des Pakets java.io importiert werden und somit für die Programmierung benutzt werden können.
☞ import-Anweisungen stehen vor der Klassendefinition.
Peter Becker, Programiersprache Java — FH Bonn-Rhein-Sieg, SS 07
33
Herunterladen