Variablen

In Java gibt es 4 Arten von Variablen:

Schublade

  • Attribute (auch Instanzvariablen genannt)
  • formale Parameter
  • lokale Variablen
  • Klassenvariablen (dazu später mehr)

Arten von Variablen

Gültigkeit von Variablen

Der Gültigkeitsbereich einer Variablen ist der Teil eines Programms, in dem auf die Variable zugegriffen werden kann - nur da kann ich also mit der Variablen arbeiten.

  • Instanzvariablen (Attribute) werden üblicherweise als private deklariert; Sie sind deshalb nur in den Methodenrümpfen der eigenen Klasse gültig.
  • Der Gültigkeitsbereich einer lokalen Variable erstreckt sich von ihrer Deklaration bis zum Ende des einschließenden Blocks.
  • Der Gültigkeitsbereich eines formalen Parameters beschränkt sich auf den Rumpf des zugehörigen Blocks.

Instanzvariablen (Attribute) können durch lokale Variablen und formale Parameter (der selben Klasse) mit gleichem Namen verdeckt werden. Dann kann auf die Attribute nur noch per this.-Operator zugegriffen werden.

Beispiel für Gültigkeitsbereiche
Beispiel für Gültigkeitsbereiche

Lebensdauer von Variablen

Die Lebensdauer von Variablen ist die Zeit von der Erzeugung der Variablen bis zu dem Zeitpunkt, an dem sie im Speicher gelöscht wird.

  • Die Instanzvariablen (Attribute) eines Objekts werden erzeugt, wenn das Objekt konstruiert wird. Diese Variable lebt bis der Speicherbereinigungsalgorithmus das Objekt beseitigt.
  • Eine lokale Variable wird bei ihrer Deklaration erzeugt und lebt bis der einschließende Block verlassen wird.
  • Ein formaler Parameter ist eine Art lokale Variable des Methoden- bzw. Konstruktorrumpfs. Er wird beim Aufruf der Methode bzw des Konstruktors erzeugt und nach Ausführung wieder gelöscht.

Initialisierung von Variablen

  • Instanzvariablen (Attribute) werden automatisch bei der Erzeugung mit einem Standardwert initialisiert (0 für Zahlen, false für den boolean-Typ und null für Objekttypen (wie String, Person etc.), falls der Initialwert nicht explizit spezifiziert wurde (im Konstruktor oder bei der Deklaration).
  • Parametervariablen werden mit der lokalen Kopie der Werte der aktuellen Parameter initialisiert.
  • Lokale Variablen müssen durch das Programm explizit initialisiert werden und dürfen/können vor der Initialisierung nicht benutzt werden.

Fragen - Es wird ein Objekt der Klasse Zaehler erzeugt. Welche Ausgabe liefert dann der Aufruf von main()?\\ <code java> public class Zaehler { // Attribute private int zaehlerstand; private int x; private int y; // Konstruktor public Zaehler() { zaehlerstand = 100; x = 3; y = 5; } // Methoden public void erhoeheZaehlerstand( int x) { zaehlerstand = zaehlerstand + x + y; System.out.println(zaehlerstand); zaehlerstand = zaehlerstand + this .x + this .y; System.out.println(zaehlerstand); y = 300; } public void erhoeheNochEinmalZaehlerstand( int x) { int y = 100; zaehlerstand = zaehlerstand + x + y; System.out.println(zaehlerstand); zaehlerstand = zaehlerstand + this .x + this .y; System.out.println(zaehlerstand); y = 300; } public void main() { System.out.println( "Und hier die Ergebnisse:" ); erhoeheZaehlerstand(50); erhoeheNochEinmalZaehlerstand(80); System.out.println(x); System.out.println(y); } } 2. Nenne die Unterschiede zwischen den Begriffen "Attribut", "Parameter" und "Variable".

start/info/11if/04_variablen.txt · Zuletzt geändert: 23.10.2013 10:12 (Externe Bearbeitung)
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0