Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.

Ähnliche Präsentationen


Präsentation zum Thema: "Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen."—  Präsentation transkript:

1 Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen. Beispiele sind Listen Tabellen Arrays können eine oder mehrere Dimen-sionen haben. (C) Harder 2007

2 Beispiele eindimensionale Arrays Listen Vektoren
zweidimensionale Arrays Tabellen Matrizen ein TicTacToe-Spielfeld ein Excel-Arbeitsbatt dreidimensionale Arrays „Zauber“würfel (C) Harder 2007

3 Eindimensionale Arrays
Eindimensionale Arrays sind Listen. Folgende Liste hat 5 Positionen Man muß zwischen der Position der Zelle und dem Inhalt der Zelle unterscheiden. In Java hat die erste Zelle die Positionsnummer Die Zelle an dieser Position enthält den Wert 9. Die letzte Zelle hat die Positionsnummer Ihr Inhalt ist 8. (C) Harder 2007

4 Deklaration einer Liste
Die Beispielliste Liste wird durch folgende Anweisung dekla-riert: int Liste [ ] = new int [5] ; Die Liste ist vom Typ int. Alle Elemente sind Integerwerte. Die Liste hat 5 Zellen. Die Zellen heißen Liste[0], Liste [1], Liste[2], Liste [3], Liste[4]. Die Liste kann bei der Deklaration durch das Aufzählen der Elementwerte durch die folgende Anweisung initialisiert werden. int Liste [ ] = { 9, 1, 5, 3, 8 } ; (C) Harder 2007

5 Wertzuweisung Zugriff auf die im Feld gespeicherten Werte z.B. wie folgt: x = Liste [0] ; // x wird der Wert 9 zugewiesen. y = Liste [4] ; // y wird der Wert 8 zugewiesen. x = Liste [5]; // Anweisung verursacht i. d. Regel einen Speicherzugriffsfehler, da auf Speicherbereich außerhalb des reservierten Bereichs zugegriffen wird. => Bei der Benutzung von Arrays liegt die Verantwor- tung über die Einhaltung der Bereichsgrenzen beim Java-Programmierer ! (C) Harder 2007

6 Eingabe Die Eingabe der Werte von Liste kann z:B. mit einem Objekt sc der Klasse Scanner in einer for-Schleife erfol-gen. Dazu deklarieren wir einen Positionszähler pos, der die Zellen von 0 bis 4 zählen kann. Es ist darauf zu achten, daß die letzte Position den Wert 4 hat, pos darf daher den Wert 5 nicht mehr annehmen. for (pos = 0; pos < 5; pos ++) { Liste [ pos ] = sc.nextInt() ; } (C) Harder 2007

7 TAB-Abstand herstellen
Formatierte Ausgabe Die Werte von Liste können mit einer Schleife ausge- geben werden. Dazu deklarieren wir den Positionszähler pos, der die Zellen von 0 bis 4 zählen kann. Es ist darauf zu achten, daß die letzte Position den Wert 4 hat, pos darf daher den Wert 5 nicht mehr annehmen. for ( pos = 0 ; pos < 5 ; pos++ ) { System.out.print ( Liste [pos] ) ; System.out.print (“\t“) ; } System.out.print (“\n“) ; TAB-Abstand herstellen (C) Harder 2007

8 TAB-Abstand herstellen
Quellcode Liste.java import java.io.* ; import java.util.* ; import java.util.Scanner.* ; public class Liste { public static void main ( String args[] ) throws IOException Scanner sc = new Scanner (System.in) ; int Liste [ ] = new int [5]; int pos = 0 ; try for ( pos = 0 ; pos < 5 ; pos ++ ) Liste [pos] = sc.nextInt() ; } System.out.print (Liste [pos]) ; System.out.print ("\t") ; catch (Exception ioe) {} TAB-Abstand herstellen (C) Harder 2007

9 Zweidimensionale Arrays
(C) Harder 2007

10 Zweidimensionale Arrays
Die Deklaration zweidimensionaler Arrays ist in Java schwie-riger als z.B. in C/C++. Java unterstützt diesen Datentyp nur bedingt. Ein zweidimensionales Array kann nur dadurch dar-gestellt werden, daß man ein eindimensionales Array dekla-riert, dessen Elemente jeweils wieder Listen sind. Schema-tisch sieht das so aus: Liste mit drei Elementen (3 Zeilen (=Listen) Liste mit 4 Elementen (=4 Spalten) (C) Harder 2007

11 Zweidimensionale Arrays
Ein zweidimensionales (3,4)-Array ist wie folgt aufgebaut: zeilenpos = 0 spaltenpos = 0 3 Zeilen: 0, 1, 2 zeilenpos = 2 spaltenpos = 3 4 Spalten: 0, 1, 2, 3 (C) Harder 2007

12 Deklaration eines zweidimensionalen Arrays
Die Beispieltabelle Tabelle wird durch folgende Java-An-weisung deklariert int Tabelle [ ][ ] = new int [3][4] ; Die Tabelle ist vom Typ int. Ihre Elemente sind Integerwerte. Die Tabelle hat 12 Zellen. Die Feldelemente von Tabelle heißen Tabelle [0][0], Tabelle [0][1], Tabelle [0][2], Tabelle [0][3], Tabelle [2][3]. Die Tabelle kann bei der Deklaration durch das Aufzählen der Elementwerte durch die folgende Anweisung initialisiert werden: int Tabelle [ ] [ ] = { { 3, 2, 4, 3 } , { 6, 1, 4, 5 } , { 6, 7, 8, 1 } } ; (C) Harder 2007

13 Eingabe Die Eingabe der Elemente von Tabelle kann z.B. durch eine verschachtelte Schleife erfolgen. . Dazu deklarieren wir einen Zeilenzähler zeilenpos, der die Zeilen von 0 bis 2 zählen kann. Es ist darauf zu achten, daß die letzte Position der Zeile den Wert 2 hat. Dazu deklarieren wir einen Positionszähler spaltenpos, der die Spalten von 0 bis 3 zählen kann. Es ist darauf zu achten, daß die letzte Position der Spalte den Wert 3 hat. Die äußere Schleife durchläuft die Zeilen, die innere die Spalten von Tabelle. (C) Harder 2007

14 Ende eingelesene Zeile
Eingabe Die Eingabe der Werte von Tabelle kann z.B. mit einem Ob-jekt sc der Klasse Scanner erfolgen. for ( zeilenpos = 0 ; zeilenpos < 3 ; zeilenpos++ ) { for ( spaltenpos = 0 ; spaltenpos < 4 ; spaltenpos++ ) Tabelle [zeilenpos] [spaltenpos] = sc.nextInt ( ) ; } Ende eingelesene Zeile (C) Harder 2007

15 Formatierte Ausgabe Die Werte von Tabelle werden durch folgende Schleife zei-lenweise ausgegeben: for ( zeilenpos = 0 ; zeilenpos < 3 ; zeilenpos++ ) { for ( spaltenpos = 0 ; spaltenpos < 4 ; spaltenpos++ ) System.out.print(Tabelle [zeilenpos] [spaltenpos]); System.out.print( “\t“ ) ; } System.out.print( “\n“ ) ; Ende der Ausgabezeile erreicht Zeilenumbruch erzeugen (C) Harder 2007

16 Quellcode Tabelle.java
import java.io.* ; import java.util.* ; import java.util.Scanner.* ; public class Tabelle { public static void main ( String args[] ) throws IOException { Scanner sc = new Scanner (System.in) ; int Tabelle [ ][ ] = new int [3][4] ; int zeilenpos = 0 , spaltenpos = 0 ; try { for ( zeilenpos = 0; zeilenpos < 3 ; zeilenpos ++ ) { for ( spaltenpos = 0 ; spaltenpos < 4 ; spaltenpos ++ ) { Tabelle [zeilenpos] [spaltenpos] = sc.nextInt() ; } System.out.print (Tabelle [zeilenpos] [spaltenpos]) ; System.out.print ("\t") ; System.out.print ("\n") ; catch (Exception ioe) { } (C) Harder 2007

17 Aufgaben Aufgaben (1) Schreiben Sie ein Java-Programm. Das Programm soll ein aus Integerwerten bestehendes (3,4)-Array einlesen und dann wahlweise eine bestimmte Zeile, eine bestimmte Spalte oder das gesamte Array ausgeben. (2) Schreiben Sie ein Java-Programm. Das Programm soll ein aus Integerwerten bestehendes (3,4)-Array einlesen und prüfen, ob ein bestimmter int-Wert (z.B. 5) ein Element des Arrays ist. Ist dies der Fall, soll die Position (Zeile, Spalte) des betreffenden Elements ausgegeben werden. (3) Schreiben Sie ein Java-Programm. Das Programm soll ein aus Integerwerten bestehendes (3,4)-Array einlesen. Das Programm soll den größten Wert des Arrays finden. Das Maximum und seine Position (Zeile, Spalte) sind auszugeben ! (C) Harder 2007


Herunterladen ppt "Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen."

Ähnliche Präsentationen


Google-Anzeigen