Datentypen Felder: Deklaration und Initialisierung

DrPCox

Mitglied
Hallöchen,

ich stehe gerade mächtig auf dem Schlauch. Ich behaupte mal mich in den Grundlagen in Java sehr gut auszukennen, aber irgendwie bin ich gerade ziemlich ratlos.

Es geht einfach nur um Felder. Ich möchte gerne eine Feld deklarieren und später initialisieren bzw. erstmal eine Länge zuweisen:

Java:
public class Arrays {
	
	static String[] test;
	test = new String[3];
		
	public static void main(String[] args) {
		

	}

}

Eclipse zeit mit aber in der ersten Zeile (static STring....) einen Fehler an. Genau genommen sagt mir Eclipse:

Syntax error on token ";",,expected

Packe ich nun beides in eine Zeile, ist alles wieder gut

Java:
public class Arrays {
	
	static String[] test  = new String[3];
		
	public static void main(String[] args) {
		

	}

}

Wenn ich mich aber nun an einer Wertzuweisung versuche wird es richtig bunt:

Java:
public class Arrays {
	
	static String[] test = new String[3];
	test[0] = "Test";
	
		
	public static void main(String[] args) {
		

	}

}

Fehler in der Zeile "static String[]..." :

Multiple markers at this line
- Watchpoint:Arrays [access and
modification] - test
- Syntax error on token ";", { expected after
this token


Fehler im Kopf der Mainmethode (Die runden Klammern werden angestrichen):

Multiple markers at this line
- Syntax error on token ")", ;
expected
- Syntax error on token "(", ;
expected


Und zum Schluss wird noch an der schließenden Klammer der Klasse rumgemeckert:

Syntax error, insert "}" to complete ClassBody

Nun aber zum richtig kuriosen Teil der Geschichte. Wenn ich das ganze Gesummse in die Mainmethode packe, dann ist alles wieder Tutti:

Java:
public class Arrays {
			
	public static void main(String[] args) {
		
		String[] test;
		test = new String[3];
		test[0] = "Test";

	}

}

Es sei dazu gesagt, dass das hier natürlich nur ein Test-Projekt ist und mir der Fehler im Rahmen eines anderen begegnet ist. Auch entschuldige ich mich für die vielen Quellcode-Zitate. Ich wusste nicht, wie ich es besser beschreiben sollte.

Ich bin für jede Hilfe dankbar!
 
A

awd23123wadad

Gast
Java hat so die Eigenart, dass man Code nicht einfach so hinschreiben darf, sondern bestimme Konventionen beachten muss

Fall1: Der Code steht außerhalb einer Methode und nicht in der Dekl. einer Variablen
Fall3: Siehe Fall 1

Fall4: Siehe Eingangssatz
 

jgh

Top Contributor
2 kleine Anmerkungen von meiner Seite:

wenn du Klassen definierst, sollten sie nicht den gleichen Namen haben wie Klassen aus der Standardbibliothek!
Java:
public class TestArray {
	static String[] test;

	public static void main(String[] args) {
		test = new String[3];
	}
}
ohne Compilefehler, den Compilefehler schreibt er erst dann...wenn du direkt nach der deklarierung eines static-Feldes, die Initialisierung schreibst!

auch folgendes wird ohne Fehler compiliert:

Java:
public class TestArray  {

	static String[] test = new String[3];

	public static void main(String[] args) {
		test[0] = "Test";
	}
}
 

DrPCox

Mitglied
Wie gesagt....die Klasse hieß nur "Array" um das mal eben so zu testen.^^

Heißt also, dass ich einem Array außerhalb einer Methode keine Länge zuweisen kann? Bzw. die Schritte "Deklaration" und "Zuweisung einer Länge" (new String[3]) nicht trennen darf und ihm auch keine Werte zuweisen darf, es sei denn ich mache das direkt bei der Deklaration? Denn zumindest kann ich es direkt mit Werten initialisieren. Ganz ohne Probleme:

Java:
public class Arrays {
	
	static String[] test = {"hallo", "test"};

				
	public static void main(String[] args) {
	
	}

}

Tut mir Leid, dass ich mich so anstelle, aber ich verstehe das System dahinter gerade einfach nicht.
 
A

awda23ws23

Gast
"Ich behaupte mal mich in den Grundlagen in Java sehr gut auszukennen,"
hmmmmm

"Heißt also, dass ich einem Array außerhalb einer Methode keine Länge zuweisen kann?"
ja (Ausnahme Dekl.), wozu sollte das anders sein?
 

tagedieb

Top Contributor
Instanzvariablen sollte man im Constructor initialisieren.

Fuer Klassenvariablen kann man den static initializer Block verwenden:

Java:
    static String[] test = new String[3];
    static {
        test[0] = "Test";
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
M Werte in Felder speichern und geordnet ausgeben Java Basics - Anfänger-Themen 8
A Felder: arithmetisches und geometrisches Mittel Java Basics - Anfänger-Themen 3
L Datentypen Deklarierte Felder einer Generic Klasse bestimmen Java Basics - Anfänger-Themen 7
Elyt Bei Monopoly werden Felder übersprungen Java Basics - Anfänger-Themen 2
L Listen und Felder Java Basics - Anfänger-Themen 2
neerual Int-Felder erzeugen Java Basics - Anfänger-Themen 16
P Felder König array Java Basics - Anfänger-Themen 6
T Art 4 Felder Matrix Memory Java Basics - Anfänger-Themen 2
P Zugriff auf Felder in ArrayList Objekten Java Basics - Anfänger-Themen 2
D Felder Java Basics - Anfänger-Themen 2
D Übung Felder java Error kompilieren Java Basics - Anfänger-Themen 4
M Felder leer - überprüfen? Java Basics - Anfänger-Themen 2
S reflection und felder Java Basics - Anfänger-Themen 12
X Verknüpfte Excel Felder mitändern Java Basics - Anfänger-Themen 6
Z Erste Schritte 9x9 Felder Erzeugen+Aufrufen Java Basics - Anfänger-Themen 1
S Wie instanziert man Felder? Java Basics - Anfänger-Themen 11
V Zwei Felder Adderen Java Basics - Anfänger-Themen 2
W Methoden Falsche Felder von Methode belgegt Java Basics - Anfänger-Themen 14
M Spielfeld mit 10x10 Felder Java Basics - Anfänger-Themen 13
E Felder bei falscher Eingabe leeren Java Basics - Anfänger-Themen 8
S Felder mit Variablen/Tabellen verknüpfen! Java Basics - Anfänger-Themen 3
M Felder mit Methode verändern Java Basics - Anfänger-Themen 11
W Datentypen Felder mit Potenzen Java Basics - Anfänger-Themen 31
C Erste Schritte felder, die public final sind Java Basics - Anfänger-Themen 6
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
C Felder(Größte Zahl, Index) Java Basics - Anfänger-Themen 6
K Felder Java Basics - Anfänger-Themen 5
M 3 Felder, Barcode, reinschreiben in die DB Java Basics - Anfänger-Themen 30
C Java Felder bearbeiten Hilfe Java Basics - Anfänger-Themen 4
H Felder mit unterschiedl. Typen sortieren Java Basics - Anfänger-Themen 5
B n-dimensionale Felder in m-dimensionale Felder konvertiert Java Basics - Anfänger-Themen 30
H felder vergleichen Java Basics - Anfänger-Themen 6
F Felder von aufrufender Klasse ändern Java Basics - Anfänger-Themen 16
A Felder Java Basics - Anfänger-Themen 7
A Mehrdimensionale Felder Java Basics - Anfänger-Themen 18
C Felder im Dialog zurücksetzen Java Basics - Anfänger-Themen 3
E Wechselnde Felder erzeugen Java Basics - Anfänger-Themen 15
maddin86 Eine Methode für ein- und zweidimensionale double Felder als Parameter? Java Basics - Anfänger-Themen 5
A Felder- Minimum/Maximum Java Basics - Anfänger-Themen 2
D Felder Java Basics - Anfänger-Themen 7
D Felder Java Basics - Anfänger-Themen 2
T Border Layout alle mittleren felder gleich groß Java Basics - Anfänger-Themen 3
C Speicherverwaltung für Felder Java Basics - Anfänger-Themen 8
S EINDIMENSIONALE FELDER? Java Basics - Anfänger-Themen 23
G 3. Aufgaben und komme nicht weiter (Felder, Methoden) Java Basics - Anfänger-Themen 3
M Felder (Wo liegt der Fehler?) Java Basics - Anfänger-Themen 2
D Wie werden Felder grau? Java Basics - Anfänger-Themen 26
S generische Felder Java Basics - Anfänger-Themen 2
A Felder Java Basics - Anfänger-Themen 3
D String mit split teilen und leere Felder behalten Java Basics - Anfänger-Themen 4
R Felder unterschiedlichen Typs Java Basics - Anfänger-Themen 9
J 2 Felder aus DB selektieren u. in JList - eines verstecken? Java Basics - Anfänger-Themen 7
T Suche über mehrere Felder value = key = value Java Basics - Anfänger-Themen 3
B Array doppelt Felder löschen Java Basics - Anfänger-Themen 27
B clone(), Clonable und Felder von Interfacetypen Java Basics - Anfänger-Themen 3
G Felder kopieren Java Basics - Anfänger-Themen 8
G Felder-Länge Java Basics - Anfänger-Themen 2
G Felder zurückgeben? Java Basics - Anfänger-Themen 3
C Früheste Datum aus 3 Felder Java Basics - Anfänger-Themen 20
M Felder innerhalb eines Arrays vergleichen Java Basics - Anfänger-Themen 2
D Felder vergleichen Java Basics - Anfänger-Themen 14
D Verbindung von Methoden und Felder Java Basics - Anfänger-Themen 3
A Aus dem menü heraus andere Felder bearbeiten Java Basics - Anfänger-Themen 2
S Statische Felder - statische Methoden Java Basics - Anfänger-Themen 2
G variable felder in java? geht das? Java Basics - Anfänger-Themen 4
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
D Datentypen Char deklaration Java Basics - Anfänger-Themen 4
mars90 Fehler in der Variablen Deklaration Java Basics - Anfänger-Themen 8
J Klassen Deklaration und Initialisierung Java Basics - Anfänger-Themen 15
R Erste Schritte Deklaration und Initialisierung von Arrays Java Basics - Anfänger-Themen 21
M Wo liegt der Unterschied? Deklaration Klasse oder Konstruktur Java Basics - Anfänger-Themen 3
M Deklaration und Initialisierung bei Method Erstellung Java Basics - Anfänger-Themen 12
M Erste Schritte package-Deklaration, Problem Java Basics - Anfänger-Themen 6
M Frage zu Generics-Deklaration Java Basics - Anfänger-Themen 5
A Array Deklaration Java Basics - Anfänger-Themen 6
B Erste Schritte Unterschiede bei der Deklaration von Strings Java Basics - Anfänger-Themen 4
K Protected und Private Deklaration Java Basics - Anfänger-Themen 8
G Erste Schritte Methodenaufruf, Variablen-Deklaration Java Basics - Anfänger-Themen 6
J definition / deklaration Java Basics - Anfänger-Themen 2
K Erste Schritte deklaration von int Java Basics - Anfänger-Themen 4
S Methode Deklaration Variablen initalisieren Java Basics - Anfänger-Themen 2
E Erste Schritte Umstieg von PHP - Deklaration Java Basics - Anfänger-Themen 9
S Deklaration 0x12 Java Basics - Anfänger-Themen 4
M fehler bei instanzvariablen deklaration?? Java Basics - Anfänger-Themen 6
F Datentypen Welchen Wert hat ein einfacher Datentyp nach der Deklaration? Java Basics - Anfänger-Themen 6
G Definition / Deklaration Java Basics - Anfänger-Themen 13
I Deklaration und Definition Java Basics - Anfänger-Themen 7
I Datentypen Unterschied in Deklaration von ArrayList Java Basics - Anfänger-Themen 26
Luk10 Deklaration von lokalen Variablen Java Basics - Anfänger-Themen 2
J Was genau davon ist Anweisung, was Deklaration? Java Basics - Anfänger-Themen 2
S OOP package Deklaration Java Basics - Anfänger-Themen 4
S BITTE UM HILFE: Unterschied Deklaration und Signatur einer Methode Java Basics - Anfänger-Themen 3
A Deklaration von einem Array Java Basics - Anfänger-Themen 9
A Deklaration eines Arrays Java Basics - Anfänger-Themen 11
R Deklaration: was passiert da? Java Basics - Anfänger-Themen 3
G Deklaration und Sichtbarkeit von Variablen Java Basics - Anfänger-Themen 2
S Methoden Deklaration u. Definition trennbar (wie in C)? Java Basics - Anfänger-Themen 9
C Deklaration einer Variablen in einem rekursivem Aufruf Java Basics - Anfänger-Themen 5
K Variablen Deklaration Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben