Variablen Lebensdauer

Berta

Mitglied
ich hätte ne frage zur for schleife. while schleife. die haben ja auch nen methodenspeicher, oder.
und ich wollte fragen, wenn ich folgendes habe:


Java:
class FolgeIt{


public static void main(String[]args){


	int n=42;
	
	int s1=1;
	int s2=1;
	int s=0;
	
	
	for(int i=3; i<=n; i++){
	
	s=s1+s2;
	s1=s2;
	s2=s;
	}
	System.out.println(s);
	
}
}

wieso ist s jetzt nicht null, sondern z. b. 21432421? eig. wird doch bei einer methode wieder alles gelöscht, oder?

danke
 
Zuletzt bearbeitet von einem Moderator:
Du schreibst die Werte ja direkt in s rein, warum sollten sie dann nach Beenden der Schleife nicht mehr dementsprechend vorliegen. Du kannst lediglich innerhalb von Schleifen Variablen deklarieren, die dann ausserhalb der Schleife keine Gültigkeit mehr besitzen.
 
Hallo,

die Variable wird nicht gelöscht, da du sie AUßERHALB der Schleife bereits erstellst.
Sie würde gelöscht werden, wenn du sie innerhalb der Schleife erstellen würdest.
 
Was die For-Schleife warum macht, wird doch innerhalb der For-Schleife definiert:

Java:
s=s1+s2;
s1=s2;
s2=s;

Hier werden s, s1 und s2 immer reihum Werte zugewiesen. Am Ende bleibt dann eben der letzte Wert in s stehen und wird auch nicht gelöscht.
 

Zurück
Oben