Variablen: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
(47 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 ===
{| 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';
|}
=== Referenzdatentypen ===
Referenzdatentypen speichern eine '''Referenz auf ein Objekt'''.
{| class="wikitable" style="width:100%; text-align:center;"
! 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 in Java|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.


=== Primitive Datentypen in Java ==
<syntaxhighlight lang="java">
public void methode() {
    int x = 5;
}
</syntaxhighlight>


'''byte'''
=== [[Instanzvariablen]] ===
  - Größe: 8 Bit  
* gehören zu einem [[Klassen und Objekte|Objekt]]  
  - Wertebereich: -128 bis 127  
* werden in einer [[Klassen und Objekte|Klasse]] deklariert  
  - Speicherfreundlich, oft für große Arrays verwendet
* existieren für jedes Objekt separat 


'''short'''
<syntaxhighlight lang="java">
  - Größe: 16 Bit 
class Person {
  - Wertebereich: -32.768 bis 32.767 
    String name;
    int alter;
}
</syntaxhighlight>


3. **int**   
=== Klassenvariablen (static) ===
  - Größe: 32 Bit  
* gehören zur [[Klassen und Objekte|Klasse]], nicht zum Objekt  
  - Wertebereich: -2³¹ bis 2³¹-1 (~ -2,1 Mrd. bis +2,1 Mrd.)  
* werden mit '''static''' gekennzeichnet  
  - Standard-Datentyp für ganzzahlige Werte
* für alle [[Klassen und Objekte|Objekte]] gleich  


4. **long** 
<syntaxhighlight lang="java">
  - Größe: 64 Bit 
class Auto {
  - Wertebereich: -2⁶³ bis 2⁶³-1 
    static int anzahl = 0;
  - Für sehr große Ganzzahlen
}
</syntaxhighlight>


5. **float** 
Java kennt '''keine''' globalen Variablen.  
  - Größe: 32 Bit 
Variablen mit großer Sichtbarkeit sind entweder Instanzvariablen oder Klassenvariablen (static), die immer zu einer Klasse gehören.
  - Genauigkeit: ca. 7 Dezimalstellen 
  - Für Gleitkommazahlen (mit `f` am Ende, z. B. `3.14f`)


6. **double**  
=== Konstanten ===
  - Größe: 64 Bit 
Konstanten sind Variablen, deren Wert nicht geändert werden kann.   
  - Genauigkeit: ca. 15 Dezimalstellen 
Sie werden mit '''final''' deklariert.
  - Standard-Datentyp für Gleitkommazahlen


7. **char** 
<syntaxhighlight lang="java">
  - Größe: 16 Bit 
final double MWST = 0.19;
  - Speichert ein einzelnes Unicode-Zeichen (z. B. `'A'`, `'€'`)
</syntaxhighlight>


8. **boolean*
== Gültigkeitsbereich (Scope) ==
  - Werte: `true` oder `false` 
Der '''Scope''' bestimmt, wo eine Variable verwendet werden darf:
  - Für logische Werte / Bedingungen
* innerhalb eines Blocks { }
* innerhalb einer [[Methoden in Java|Methode]]
* innerhalb einer [[Klassen und Objekte|Klasse]]


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


[[Kategorie:Programmieren]]
[[Kategorie:Programmieren]]
[[Kategorie:Semester1]]

Aktuelle Version vom 17. August 2026, 07:04 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).