Variablen: Unterschied zwischen den Versionen

Aus FI-Wiki
 
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Variablen in Java ==
Eine '''Variable''' ist ein benannter Speicherbereich, in dem ein Wert abgelegt wird. 
In Java müssen Variablen '''vor der Benutzung deklariert''' werden und besitzen immer einen festen '''[[Datentypen|Datentyp]]'''.


Eine '''Variable''' ist ein benannter Speicherbereich, in dem ein Wert abgelegt wird. 
== Deklaration und Initialisierung ==
In Java müssen Variablen '''vor der Benutzung deklariert''' werden und besitzen immer einen festen '''Datentyp'''.


=== Deklarieren von Variablen ===
=== Deklaration ===  
Beim '''Deklarieren''' einer Variable teilt man dem Programm mit:
Beim '''Deklarieren''' einer Variable teilt man dem Programm mit:


* welchen '''Datentyp''' die Variable hat   
* welchen '''[[Datentypen|Datentyp]]''' die Variable hat   
* wie der '''Name''' der Variable lautet   
* wie der '''Name''' der Variable lautet   


Dabei wird noch **kein Wert gespeichert**.
Dabei wird noch '''kein Wert gespeichert'''.


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 17: Zeile 17:
</syntaxhighlight>
</syntaxhighlight>


Nach der Deklaration kann der Variable ein Wert zugewiesen werden. Das nennt man '''Initialisierung'''.
=== Initialisierung  ===
Nach der Deklaration kann der Variable ein Wert zugewiesen werden. Das nennt man '''Initialisierung'''. Der Zuweisungsoperator ist das "Ist-gleich-Zeichen" (=).


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 24: Zeile 25:
</syntaxhighlight>
</syntaxhighlight>


Deklaration und Initialisierung können auch in einer Zeile erfolgen.
'''Deklaration''' und '''Initialisierung''' können auch in einer Zeile erfolgen.


''' Syntax: '''
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
int alter = 18;
Datentyp name = wert;
</syntaxhighlight>
</syntaxhighlight>


=== Allgemeine Form einer Variablendeklaration ===
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Datentyp name = wert;
int alter = 18;
</syntaxhighlight>
</syntaxhighlight>


=== Datentypen ===
== Datentypen ==
Java unterscheidet zwischen '''[[Datentypen|primitiven Datentypen''' und '''Referenzdatentypen]]'''.
Java unterscheidet zwischen '''[[Datentypen|primitiven Datentypen''' und '''Referenzdatentypen]]'''.


==== Primitive Datentypen ====
=== Primitive Datentypen ===
{| class="wikitable" style="width:100%; text-align:center;"
{| class="wikitable" style="width:100%; text-align:center;"
! Datentyp !! Bedeutung !! Beispiel
! Datentyp !! Bedeutung !! Beispiel
Zeile 51: Zeile 52:
|}
|}


==== Referenzdatentypen ====
=== Referenzdatentypen ===
Referenzdatentypen speichern eine '''Referenz auf ein Objekt'''.
Referenzdatentypen speichern eine '''Referenz auf ein Objekt'''.


Zeile 64: Zeile 65:
|}
|}


=== Arten von Variablen ===
== Arten von Variablen ==
Je nach Gültigkeitsbereich unterscheidet man:
Je nach Gültigkeitsbereich unterscheidet man:


==== Lokale Variablen ====
=== Lokale Variablen ===
* werden innerhalb von Methoden deklariert 
* Lokale Variablen werden innerhalb eines Codeblocks { } deklariert.
* sind nur dort gültig
* Dazu zählen [[Methoden in Java|Methoden]], [[Schleifen]], [[Verzweigungen]] (if/else) und beliebige Blöcke.
* müssen vor der Benutzung initialisiert werden   
* Sie sind nur innerhalb dieses Blocks gültig und müssen vor der Benutzung initialisiert werden.
   


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 78: Zeile 80:
</syntaxhighlight>
</syntaxhighlight>


==== Instanzvariablen ====
=== [[Instanzvariablen]] ===
* gehören zu einem Objekt   
* gehören zu einem [[Klassen und Objekte|Objekt]]  
* werden in einer Klasse deklariert   
* werden in einer [[Klassen und Objekte|Klasse]] deklariert   
* existieren für jedes Objekt separat   
* existieren für jedes Objekt separat   


Zeile 90: Zeile 92:
</syntaxhighlight>
</syntaxhighlight>


==== Klassenvariablen (static) ====
=== Klassenvariablen (static) ===
* gehören zur Klasse, nicht zum Objekt   
* gehören zur [[Klassen und Objekte|Klasse]], nicht zum Objekt   
* werden mit '''static''' gekennzeichnet   
* werden mit '''static''' gekennzeichnet   
* für alle Objekte gleich   
* für alle [[Klassen und Objekte|Objekte]] gleich   


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 101: Zeile 103:
</syntaxhighlight>
</syntaxhighlight>


=== Initialisierung ===
Java kennt '''keine''' globalen Variablen.
Variablen können bei der Deklaration oder später initialisiert werden.
Variablen mit großer Sichtbarkeit sind entweder Instanzvariablen oder Klassenvariablen (static), die immer zu einer Klasse gehören.
 
<syntaxhighlight lang="java">
int a;
a = 10;
</syntaxhighlight>
 
Instanz- und Klassenvariablen erhalten automatisch Standardwerte (z. B. 0, false, null).


=== Konstanten ===
=== Konstanten ===
Zeile 119: Zeile 114:
</syntaxhighlight>
</syntaxhighlight>


=== Gültigkeitsbereich (Scope) ===
== Gültigkeitsbereich (Scope) ==
Der '''Scope''' bestimmt, wo eine Variable verwendet werden darf:
Der '''Scope''' bestimmt, wo eine Variable verwendet werden darf:
* innerhalb eines Blocks { }
* innerhalb eines Blocks { }
* innerhalb einer Methode
* innerhalb einer [[Methoden in Java|Methode]]
* innerhalb einer Klasse
* innerhalb einer [[Klassen und Objekte|Klasse]]


=== Kurzmerksatz ===
== Kurzmerksatz ==
'''Eine Variable wird zuerst deklariert (Typ + Name) und anschließend mit einem Wert belegt.'''
'''Eine Variable wird zuerst deklariert (Typ + Name) und anschließend mit einem Wert belegt (initialisiert).'''

Aktuelle Version vom 11. Januar 2026, 11:19 Uhr

Eine Variable ist ein benannter Speicherbereich, in dem ein Wert abgelegt wird. In Java müssen Variablen vor der Benutzung deklariert werden und besitzen immer einen festen Datentyp.

Deklaration und Initialisierung

Deklaration

Beim Deklarieren einer Variable teilt man dem Programm mit:

  • welchen Datentyp die Variable hat
  • wie der Name der Variable lautet

Dabei wird noch kein Wert gespeichert.

int zahl;
String text;

Initialisierung

Nach der Deklaration kann der Variable ein Wert zugewiesen werden. Das nennt man Initialisierung. Der Zuweisungsoperator ist das "Ist-gleich-Zeichen" (=).

zahl = 10;
text = "Hallo";

Deklaration und Initialisierung können auch in einer Zeile erfolgen.

Syntax:

Datentyp name = wert;
int alter = 18;

Datentypen

Java unterscheidet zwischen primitiven Datentypen und Referenzdatentypen.

Primitive Datentypen

Datentyp Bedeutung Beispiel
int ganze Zahl int x = 10;
double Kommazahl double pi = 3.14;
boolean Wahrheitswert boolean aktiv = true;
char einzelnes Zeichen char c = 'A';

Referenzdatentypen

Referenzdatentypen speichern eine Referenz auf ein Objekt.

Typ Beispiel
String String text = "Hallo";
Array int[] zahlen = {1, 2, 3};
Objekt Person p = new Person();

Arten von Variablen

Je nach Gültigkeitsbereich unterscheidet man:

Lokale Variablen

  • Lokale Variablen werden innerhalb eines Codeblocks { } deklariert.
  • Dazu zählen Methoden, Schleifen, Verzweigungen (if/else) und beliebige Blöcke.
  • Sie sind nur innerhalb dieses Blocks gültig und müssen vor der Benutzung initialisiert werden.


public void methode() {
    int x = 5;
}

Instanzvariablen

  • gehören zu einem Objekt
  • werden in einer Klasse deklariert
  • existieren für jedes Objekt separat
class Person {
    String name;
    int alter;
}

Klassenvariablen (static)

  • gehören zur Klasse, nicht zum Objekt
  • werden mit static gekennzeichnet
  • für alle Objekte gleich
class Auto {
    static int anzahl = 0;
}

Java kennt keine globalen Variablen. Variablen mit großer Sichtbarkeit sind entweder Instanzvariablen oder Klassenvariablen (static), die immer zu einer Klasse gehören.

Konstanten

Konstanten sind Variablen, deren Wert nicht geändert werden kann. Sie werden mit final deklariert.

final double MWST = 0.19;

Gültigkeitsbereich (Scope)

Der Scope bestimmt, wo eine Variable verwendet werden darf:

  • innerhalb eines Blocks { }
  • innerhalb einer Methode
  • innerhalb einer Klasse

Kurzmerksatz

Eine Variable wird zuerst deklariert (Typ + Name) und anschließend mit einem Wert belegt (initialisiert).