2. Übung zur Vorlesung "Wissenschaftliches Rechnen I"

Transcription

2. Übung zur Vorlesung "Wissenschaftliches Rechnen I"
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
2. Übung zur Vorlesung
”Wissenschaftliches Rechnen I”
Nicolas Gauger, René Lamour, Hella Rabus
Wintersemester 2007/2008
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen,
die in { . . . } eingeschlossen werden. Die Anweisungen
werden nacheinander ausgeführt.
{
Anweisung 1;
Anweisung 2;
..
.
Anweisung n;
}
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
Ein Block wirkt nach aussen wie eine Anweisung.
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
Ein Block wirkt nach aussen wie eine Anweisung.
Blöcke können geschachtelt werden.
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
Ein Block wirkt nach aussen wie eine Anweisung.
Blöcke können geschachtelt werden.
In einem Block definierte Objekte sind nur in diesem Block
bekannt!
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife hat die Struktur
for(Initializierungsanw.; boolescher Ausdruck; Inkrementanw.)
Anweisung(sblock);
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
for(Initializierungsanw.; boolescher Ausdruck; Inkrementanw.)
Anweisung(sblock);
Die Abarbeitung ist:
1. Ausführen der Initializierungsanweisung
2. falls der boolescher Ausdruck true ist, werden die Anweisung
und dann die Inkrementanweisung ausgeführt,
sonst die for-Schleife beendet
3. weiter bei 2.
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
Die Abarbeitung ist:
1. Ausführen der Initializierungsanweisung
2. falls der boolescher Ausdruck true ist, werden die Anweisung
und dann die Inkrementanweisung ausgeführt,
sonst die for-Schleife beendet
3. weiter bei 2.
Beispiel: int j=0;
for( int i=1; i < 11; i=i+1) j=j+i;
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung hat die Struktur
if (boolescher Ausdruck)
Anweisung 1;
else
Anweisung 2;
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
if (boolescher Ausdruck)
Anweisung 1;
else
Anweisung 2;
Die Abarbeitung wird durch den booleschen Ausdruck
gesteuert.
Ist der booleschen Ausdruck = true wird
Anweisung 1 ausgeführt, sonst
Anweisung 2.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
Die Abarbeitung wird durch den booleschen Ausdruck
gesteuert.
Ist der booleschen Ausdruck = true wird
Anweisung 1 ausgeführt, sonst
Anweisung 2.
Beispiel: if (student > 0)
System.out.println(”\u00dcbung findet statt!”);
else
System.out.println(”Keine \u00dcbung!”);
| {z }
Ü
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Blöcke und Kontrollstrukturen
I
Ein Block enthält eine Folge von Anweisungen
I
Die for- oder Zählschleife
I
Die if-else-Anweisung
if (boolescher Ausdruck)
Anweisung 1;
else
Anweisung 2;
Merke: Der else-Zweig kann fehlen!
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Sehr viele nützliche Programme liegen schon vor und wir
wollen sie benutzen. Dazu gibt es Bibliotheken.
WRI-Homepage → Bibliotheken für Java → JAVA 5 → links
oben java.lang → links unten Math
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Alles in java.lang kann direkt benutzt werden. Nur wie?
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Alles in java.lang kann direkt benutzt werden. Nur wie?
Die ausgewählte Klasse heisst Math und wir wollen eine
statische Methode (Unterprogramm) benutzen.
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Die ausgewählte Klasse heisst Math und wir wollen eine
statische Methode (Unterprogramm) benutzen.
→ Slider am rechten Rand bis zur Methode sqrt im Method
Summary herunterziehen.
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
An der ersten Spalte erkennt man, dass alle diese Methoden
static sind. (Was das genau ist, folgt später.)
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
An der ersten Spalte erkennt man, dass alle diese Methoden
static sind. (Was das genau ist, folgt später.)
Lesen Sie die Beschreibung von sqrt - square root.
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Lesen Sie die Beschreibung von sqrt - square root.
Die erste Spalte gibt auch den Rückgabetyp an - double
Hinter dem Namen steht in Klammern die Parameterliste double a
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Lesen Sie die Beschreibung von sqrt - square root.
Die erste Spalte gibt auch den Rückgabetyp an - double
Hinter dem Namen steht in Klammern die Parameterliste double a
Die statische Methode methode mit dem Ergebnistyp typ in
der Klasse kl wird unter Berücksichtigung ihrer Parameterliste
folgendermaßen aufgerufen:
typ erg=kl.methode(<Var. entsp. der Parameterliste>);
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Die statische Methode methode mit dem Ergebnistyp typ in
der Klasse kl wird unter Berücksichtigung ihrer Parameterliste
folgendermaßen aufgerufen:
typ erg=kl.methode(<Var. entsp. der Parameterliste>);
Beispiel: double rad=2.0;
double wurzel=Math.sqrt(rad);
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Analog sind auch Konstanten einer Klasse (→ Field
Summary) zu benutzen:
Beispiel: double pi=Math.PI;
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Die Potenzfunktion - x i
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Die Potenzfunktion - x i
Für i = 2 schreiben wir x ∗ x, sonst nutzen wir
HUMath.Numerik.Sfun.pow(double x, int i) =
ˆ xi
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
Die Potenzfunktion - x i
Für i = 2 schreiben wir x ∗ x, sonst nutzen wir
HUMath.Numerik.Sfun.pow(double x, int i) =
ˆ xi
Die Java-Methode
Math.pow(double x, double y) =
ˆ x y = e y ln x ist für ganzes y
uneffektiv.
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
→ Bibliotheken für Java → HUMath → HUMath.InOut→
ReadWin
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
Über der Klassenbezeichnung ReadWin sehen wir den
package-Namen HUMath.InOut.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
Über der Klassenbezeichnung ReadWin sehen wir den
package-Namen HUMath.InOut.
Wenn wir Methoden aus dieser Klasse in unserem Programm
benutzen wollen, müssen wir sie importieren.
Wir schreiben am Anfang unseres java-Programmes
<name>.java die Zeile(n):
import HUMath.InOut.ReadWin; bzw.
import HUMath.InOut.*; - zum Importieren aller Klassen
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
Dann können wir die statischen Methoden (z.B. getDouble)
aus der Klasse ReadWin zum Einlesen von Daten benutzen:
Beispiel: double rad = ReadWin.getDouble(”Radius = ”);
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
Sehen Sie sich auch die anderen Klassen dieses Paketes an!
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Nutzung von Bibliotheken
I
Benutzen statischer Methoden
I
Import von Bibliotheken
I
Bemerkung:
Beenden Sie Ihr Programm (bei der Nutzung graphischer
Elemente) mit System.exit(0);
oder per Hand mit ˆC.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Bereitstellen von (externen) Bibliotheken
I
Der import von Bibliotheken wurde schon besprochen.
Damit zusätzliche Bibliotheken verwendet werden können,
müssen sie für Java erreichbar sein.
Man sagt: Die Bibliotheken müssen im Pfad stehen.
Überprüfung: echo $CLASSPATH
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Grundelemente von Java
Bereitstellen von (externen) Bibliotheken
I
Der import von Bibliotheken wurde schon besprochen.
Damit zusätzliche Bibliotheken verwendet werden können,
müssen sie für Java erreichbar sein.
Man sagt: Die Bibliotheken müssen im Pfad stehen.
Überprüfung: echo $CLASSPATH
I
Merke: Was man lesen kann, kann man auch kopieren!
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
Manchmal benötigt man eine Variable in einem anderen Typ.
Schreibt man: double x = 47.11;
int i = x;
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
Manchmal benötigt man eine Variable in einem anderen Typ.
Schreibt man: double x = 47.11;
int i = x;
bekommt man folgende Fehlermeldung:
I
I
format.java:12: possible loss of precision
found : double
required: int
int i = x;
ˆ
1 error
Kompakte Schreibweisen sind hilfreich.
”Überschreiben” von Variablen
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
Daher ist eine Typumwandlung nötig. Man wendet den
cast-Operator an:
(neuerTyp) Objekt
Beispiel: int i = (int) x;
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
Mehrfacher Zuweisungsoperator: a = b = c; bedeutet
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
Mehrfacher Zuweisungsoperator: a = b = c; bedeutet
b = c;
a = b;
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
Mehrfacher Zuweisungsoperator: a = (b = c); bedeutet
b = c;
a = b; (rechts assoziativ)
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
Oft haben Anweisungen die Form x = x op y;
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
Oft haben Anweisungen die Form x = x op y;
Beispiel: x = x / y;
Kurzform: x /= y; oder allgemein
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
Typ objekt op = Ausdruck;
was bedeutet: Typ objekt = (Typ)(objekt op Ausdruck);
I
Inkrement (++) und Dekrement (--) Operator
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
erhöht bzw. erniedrigt die Variable um 1.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
erhöht bzw. erniedrigt die Variable um 1.
In der Form x ++ (auch x++ ) nachdem er benutzt wird
und in der Form ++ x bevor er benutzt wird.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
erhöht bzw. erniedrigt die Variable um 1.
In der Form x ++ (auch x++ ) nachdem er benutzt wird
und in der Form ++ x bevor er benutzt wird.
Beispiel: int x = 0; int y = x++ +2; Nach der Ausführung ist
x = 1 und y = 2.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
erhöht bzw. erniedrigt die Variable um 1.
In der Form x ++ (auch x++ ) nachdem er benutzt wird
und in der Form ++ x bevor er benutzt wird.
Beispiel: int x = 0; int y = x++ +2; Nach der Ausführung ist
x = 1 und y = 2.
int x = 0; int y = ++x +2; Nach der Ausführung ist
x = 1 und y = 3.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Typumwandlungen
Typumwandlungen und Kurzformen
I
Typumwandlungen
I
Kompakte Schreibweisen sind hilfreich.
I
”Überschreiben” von Variablen
I
Inkrement (++) und Dekrement (--) Operator
erhöht bzw. erniedrigt die Variable um 1.
Oft wird nur der Befehl x++; benutzt.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die while-Anweisung
Häufig sollen Anweisungen abhängig von einer Bedingung
abgearbeitet werden.
while ( boolescher Ausdruck )
Anweisung;
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die while-Anweisung
Häufig sollen Anweisungen abhängig von einer Bedingung
abgearbeitet werden.
while ( boolescher Ausdruck )
Anweisung;
Die Anweisung wird ausgeführt,
solange der boolescher Ausdruck = true ist.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die while-Anweisung
Häufig sollen Anweisungen abhängig von einer Bedingung
abgearbeitet werden.
while ( boolescher Ausdruck )
Anweisung;
Zweite Variante (nicht abweisende while-Schleife):
do
Anweisung;
while ( boolescher Ausdruck );
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die while-Anweisung
Häufig sollen Anweisungen abhängig von einer Bedingung
abgearbeitet werden.
while ( boolescher Ausdruck )
Anweisung;
do
Anweisung;
while ( boolescher Ausdruck );
Die Anweisung wird mindestens einmal ausgeführt und, solange der
boolescher Ausdruck = true ist, fortgefahren.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die switch-Anweisung
dient der Ausführung von Anweisungen, wenn mehrere Fälle
berücksichtigt werden sollen.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die switch-Anweisung
switch ( Ausdruck ) {
case Konstante 1 :
Anweisung 1;
break;
case Konstante 2 :
Anweisung 2;
break;
..
.
default:
DefaultAnweisung;
}
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die switch-Anweisung
switch ( Ausdruck ) {
case Konstante 1 :
Anweisung 1;
break;
case Konstante 2 :
Anweisung 2;
break;
..
.
default:
DefaultAnweisung;
}
Typ: byte, char, short, int, long
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die switch-Anweisung
switch ( Ausdruck ) {
case Konstante 1 :
Anweisung 1;
break;
case Konstante 2 :
Anweisung 2;
break;
..
.
default:
DefaultAnweisung;
}
Typ: byte, char, short, int, long
vom Typ des Ausdrucks
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die switch-Anweisung
switch ( Ausdruck ) {
case Konstante 1 :
Anweisung 1;
break;
case Konstante 2 :
Anweisung 2;
break;
..
.
default:
DefaultAnweisung;
}
Typ: byte, char, short, int, long
vom Typ des Ausdrucks
falls break fehlt, fall through
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Die switch-Anweisung
switch ( Ausdruck ) {
case Konstante 1 :
Anweisung 1;
break;
case Konstante 2 :
Anweisung 2;
break;
..
.
default:
DefaultAnweisung;
}
Typ: byte, char, short, int, long
vom Typ des Ausdrucks
falls break fehlt, fall through
falls Ausdruck 6= Konstante i, ∀i
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Weitere Sprachelemente
Beispiel
int i, erg;
..
.
switch (i){
case 1:
erg=1;
break;
case 6:
erg=2;
break;
default:
erg=0;
}
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Felder
Felder - Arrays
Variable gleichen Types können in Feldern (array)
zusammengefasst werden.
Typ[] feldname;
oder
Typ feldname[];
dabei kann unter Benutzung des new-Operators gleich die
Dimension zugewiesen werden
Typ[] feldname= new Typ[<ganze Zahl >];
Beispiel: double[] vektor = new double[5];
auch eine Initialisierung ist möglich.
Beispiel: double[] vektor = {1.9, 1e-6, 9.9};
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Felder
Benutzung von Feldern, mehrdimensionale Felder
I
Um auf ein einzelnes Feldelement zuzugreifen wird
feldname[<index>] geschrieben.
<index> ist dabei ein ganzzahliger Ausdruck vom Typ int.
Beispiel: feldname[4]
I
Der Index beginnt stets bei 0.
I
Jedem Feld ist die Variable length zugeordnet, die mit
feldname.length abgefragt werden kann.
I
Mehrdimensionale Felder (z.B. Matrizen, Tensoren) werden
durch Felder von Feldern realisiert.
Beispiel: double[][] feldname = new double[3][7];
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Felder
Kopieren von Feldern
Sollen die Inhalte eines Feldes feld 1 in ein Feld feld 2 kopiert
werden gibt es zwei Möglichkeiten:
1. Es wird elementweise gemacht
for(int i=0; i < feld 1.length; i++) feld 2[i] = feld 1[i];
2. Es wird die Systemroutine System.arraycopy benutzt:
arraycopy(Object quelle, int quellindex, Object ziel, int
zielindex, int laenge);
Beispiel: System.arraycopy(feld 1, 0, feld 2, 0, feld 1.length);
Die Variante feld 2 = feld 1; ist falsch, weil damit das Objekt
feld 2 mit dem Objekt feld 1 identifiziert wird.
Beide bezeichnen jetzt das selbe Objekt.
Ändere ich feld 1, so ändert sich automatisch feld 2 mit.
2. Übung zur Vorlesung ”Wissenschaftliches Rechnen I”
Übung 2
Nun frisch ans Werk!
Jetzt können die ersten anspruchsvollen Java-Programme
entstehen. Viel Spaß dabei!

Documents pareils