Variablen: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(43 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Variablen ==
Eine '''Variable''' ist ein benannter Speicherbereich, in dem ein Wert abgelegt wird. 
Variablen kann man sich als Behälter für Daten vorstellen.
In Java müssen Variablen '''vor der Benutzung deklariert''' werden und besitzen immer einen festen '''[[Datentypen|Datentyp]]'''.


BILD
== Deklaration und Initialisierung ==


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


Hier wird die Fließkommazahl 5.5 in den Behälter mit dem Namen x gepackt.
* welchen '''[[Datentypen|Datentyp]]''' die Variable hat 
Das nennt man Zuweisung. Der Zuweisungsoperator ist das = .
* wie der '''Name''' der Variable lautet 


Die Anweisung in Java würde also so aussehen:
Dabei wird noch '''kein Wert gespeichert'''.
double x = 5.5;
Deklaration der Variable x und gleichzeitige Initialisierung.  


'''Deklaration''': die Festlegung von Dimension, Bezeichner, Datentyp
<syntaxhighlight lang="java">
int zahl;
String text;
</syntaxhighlight>


'''Initialisierung''': der Variable einen definierten Startwertzuweisen
=== 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">
public class Flaeche {
zahl = 10;
text = "Hallo";
</syntaxhighlight>


public static void main(String[] args) {
'''Deklaration''' und '''Initialisierung''' können auch in einer Zeile erfolgen.
double breite = 10.5;
double laenge = 10;
double flaeche = laenge * breite;
System.out.println("Fläche: " + flaeche + " qm");


}
''' Syntax: '''
 
<syntaxhighlight lang="java">
}
Datentyp name = wert;
</syntaxhighlight>


<syntaxhighlight lang="java">
int alter = 18;
</syntaxhighlight>
</syntaxhighlight>


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


=== Primitive Datentypen in Java ===
=== Primitive Datentypen ===
{| class="wikitable" style="width:100%; text-align:center;"
! 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';
|}


'''byte'''  
=== Referenzdatentypen ===
  - Größe: 8 Bit 
Referenzdatentypen speichern eine '''Referenz auf ein Objekt'''.
  - Wertebereich: -128 bis 127 
  - Speicherfreundlich, oft für große Arrays verwendet


'''short'''
{| class="wikitable" style="width:100%; text-align:center;"
  - Größe: 16 Bit 
! Typ !! Beispiel
  - Wertebereich: -32.768 bis 32.767 
|-
| String || String text = "Hallo";
|-
| Array || int[] zahlen = {1, 2, 3};
|-
| Objekt || Person p = new Person();
|}


'''int'''
== Arten von Variablen ==
  - Größe: 32 Bit 
Je nach Gültigkeitsbereich unterscheidet man:
  - Wertebereich: -2³¹ bis 2³¹-1 (~ -2,1 Mrd. bis +2,1 Mrd.) 
  - Standard-Datentyp für ganzzahlige Werte


'''long'''
=== Lokale Variablen ===
  - Größe: 64 Bit 
* Lokale Variablen werden innerhalb eines Codeblocks { } deklariert.
  - Wertebereich: -2⁶³ bis 2⁶³-1  
* Dazu zählen [[Methoden in Java|Methoden]], [[Schleifen]], [[Verzweigungen]] (if/else) und beliebige Blöcke.
  - Für sehr große Ganzzahlen
* Sie sind nur innerhalb dieses Blocks gültig und müssen vor der Benutzung initialisiert werden.
   


'''float''' 
<syntaxhighlight lang="java">
  - Größe: 32 Bit 
public void methode() {
  - Genauigkeit: ca. 7 Dezimalstellen 
    int x = 5;
  - Für Gleitkommazahlen (mit `f` am Ende, z. B. `3.14f`)
}
</syntaxhighlight>


'''double''' 
=== [[Instanzvariablen]] ===
  - Größe: 64 Bit  
* gehören zu einem [[Klassen und Objekte|Objekt]]  
  - Genauigkeit: ca. 15 Dezimalstellen  
* werden in einer [[Klassen und Objekte|Klasse]] deklariert  
  - Standard-Datentyp für Gleitkommazahlen
* existieren für jedes Objekt separat 


'''char'''  
<syntaxhighlight lang="java">
  - Größe: 16 Bit  
class Person {
  - Speichert ein einzelnes Unicode-Zeichen (z. B. `'A'`, `'€'`)
    String name;
    int alter;
}
</syntaxhighlight>
 
=== Klassenvariablen (static) ===
* gehören zur [[Klassen und Objekte|Klasse]], nicht zum Objekt 
* werden mit '''static''' gekennzeichnet 
* für alle [[Klassen und Objekte|Objekte]] gleich  


'''boolean'''
<syntaxhighlight lang="java">
  - Werte: `true` oder `false`  
class Auto {
  - Für logische Werte / Bedingungen
    static int anzahl = 0;
}
</syntaxhighlight>
 
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.
 
<syntaxhighlight lang="java">
final double MWST = 0.19;
</syntaxhighlight>


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


[[Kategorie:Programmieren]]
== Kurzmerksatz ==
'''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).