„Feld (Java)“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Bagok (Diskussion | Beiträge) text hinzugefügt |
K LA |
||
Zeile 1: | Zeile 1: | ||
{{Löschen|gemäß Wunsch des Authors - siehe [[Wikipedia:Redaktion Informatik/Qualitätssicherung#Feld (Java)]] --[[Benutzer:Sebastian.Dietrich|Sebastian.Dietrich]] 22:29, 10. Dez. 2009 (CET)}} |
|||
{{QS-Informatik}} |
{{QS-Informatik}} |
||
Version vom 10. Dezember 2009, 23:29 Uhr
In der Programmiersprache Java ist ein Feld (englisch Array) eine Datenstruktur, das zugleich ein eigenständiges Objekt bildet. Mit Hilfe eines Feldes können die Daten eines einheitlichen Datentyps im Speicherblock gespeichert werden. Der Zugriff auf die Daten erfolgt über den Index des Feldes. Es wird generell zwischen einem eindimensionales und einem mehrdimensionales Feld unterschieden. Man kann sich die Felder mit einem Damebrett vergleichen. Dadrauf ist ist möglich Steine abzulegen. Wenn der Feld eindimensional ist, dann nimmt man nur eine ganze Zeile. Auf die Quadrate der Zeile werden die Spielsteine gesetzt. Um zu sagen, wo auf welchem Quadrat eine oder mehrere oder gar keine Steine gibt, muss die Spalten der Zeile durchnummerieren. Wenn es um eine zweidimnesionales Feld handelt, dann nimmt man sich mehre Zeilen hintereinander oder den ganzen Spielbrett. Um zu sagen auf welche Quadrate Steine liegen, muss neben die Spalten, auch die Zeilen durchnummerieret werden. Wenn es nun eine Position gesagt werden soll, dann nennt man zuerst die Nummer, also den Index der Zeile, dann dies der Spalte.
Eindimensionales Feld
Syntax:
<Datentyp> [] <Feldvariable> = new <Datentyp> [<Anzahl>];
Bei einem eindimensionalen Feldes muss der Datentyp beim Erstellen ein Integer (int) sein. Die Datentypen short, byte, char sind aber wegen der Typkonvertierung zulässig. Bei der Erstellung muss der Datentyp genannt werden. Die darauf folgende geschlossene Blockklammer sagen den Compiler, dass es sich um einen eindimensionales Feld handelt. Diese Blocklammer müssen genau nach der Zuweisung so nochmal geschrieben werden. Mit der Feldvariable beschreibt man den Namen des Feldes. Der new-Befehl erstellt beim Ausführen des Codes die Felder, deren Anzahl in den geschlossenen eckigen Klammern stehen.
Beispiel
int [] feld = new int [3]; //Auf der rechten Seite wird die Feldvariable deklariert und
//auf der linken Seite die Feldvariable initialisiert.
Ergebnis:
feld[0] = 0; //Java fängt immer mit dem Index 0 an!
feld[1] = 0; //Es wurde zwar festgelegt, dass man 3 Felder haben möchte,
//aber die Felder wurden nicht mit Werten belegt. Daher ist überall
//der Standardswert 0.
feld[2] = 0; //Die Indexierung läuft immer bis n-1!
Felder füllen
Um die Felder mit Zahlen zu füllen, hat man zwei möglichkeiten. Die erste Möglichkeit liegt daran die Felder durch deren Index anzusprechen und sie mit Werte zu füllen:
int [] feld = new int [3];
feld[0] = 1;
feld[1] = 2;
feld[2] = 3;
Oder eine for-Schleife zu benutzen:
for (int i = 0; i < feld.length; i++)// feld.length sagt aus wie lang das Feld ist
{
feld[i] = 1+i;
System.out.println(Feld[i]); //Ausgabe. Hier sieht man das Ergebnis
}
Matrix oder Tabelle (zweidimensional)
In einer Matrix werden die waagrechten Felde als Zeilen, die Senkrechten als Spalten bezeichnet. Ein einzelnes Element ist durch Nennung von Zeile und Spalte eindeutig bezeichnet. die Syntax für eine Matrix oder allgemein für mehrdimensionale Felder ist fast identisch. Der Unterschied liegt an den Anzahl der geschlossenen eckigen Klammern, die Auskunft darüber geben, wieviele Dimensionen das Feld haben soll.
Syntax:
<Datentyp> [][] <Feldvariable> = new <Datentyp> [<Zeile(-n)>][<Spalte(-n)>];
Beispiel
int [][] matrix = new int [3][3]; //Die Matrix hat drei Zeilen und drei Spalten
for (int i = 1; i < matrix.length; i++)
{
for (int j = 1; j < matrix.length; j++)
{
matrix [i][j] = i*j;
System.out.print("\t"+ Matrix); //"\t" ist der Tabulatorbefehl. Damit wird die
//Matrix geordnet dargestellt. Das Pluszeichen sagt
//nur aus, dass nach der Leerzeile der Wert der
//Matrix kommt.
}
System.out.println(); //Erzeugt eine neue Zeile
}