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!