Variablen: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(31 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>
 
== 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'''.


</syntaxhighlight>
{| 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:


== Eingabe mit Scanner ==
=== 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.


<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
public static void main(String[] args) {
public void methode() {
  // ein Objekt der Klasse java.util.Scanner wird erzeugt
    int x = 5;
  java.util.Scanner scan = new java.util.Scanner(System.in);
}
</syntaxhighlight>


  System.out.println("Bitte etwas eingeben: ");
=== [[Instanzvariablen]] ===
* gehören zu einem [[Klassen und Objekte|Objekt]] 
* werden in einer [[Klassen und Objekte|Klasse]] deklariert 
* existieren für jedes Objekt separat 


  // Methode nextLine liest eine Zeichenkette ein
<syntaxhighlight lang="java">
  // Zeichenkette wird in String-Variable s abgelegt
class Person {
  String s = scan.nextLine();
    String name;
 
    int alter;
  // eingegebener String wird ausgegeben
  System.out.println(s);
}
}
</syntaxhighlight>
</syntaxhighlight>


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


=== Zeichenketten & Zeilen === 
<syntaxhighlight lang="java">
'''next()'''
class Auto {
Liest das nächste Wort (endet bei Leerzeichen) 
    static int anzahl = 0;
'''nextLine()''' 
}
Liest die gesamte Zeile (inkl. Leerzeichen)
</syntaxhighlight>


=== Ganzzahlen === 
Java kennt '''keine''' globalen Variablen.
'''nextByte()'''
Variablen mit großer Sichtbarkeit sind entweder Instanzvariablen oder Klassenvariablen (static), die immer zu einer Klasse gehören.
Liest einen byte-Wert 
'''nextShort()''' 
Liest einen short-Wert 
'''nextInt() '''
Liest einen int-Wert 
'''nextLong() '''
Liest einen long-Wert


=== Gleitkommazahlen ===
=== Konstanten ===
'''nextFloat()'''
Konstanten sind Variablen, deren Wert nicht geändert werden kann.  
Liest einen float-Wert   
Sie werden mit '''final''' deklariert.
'''nextDouble()'''
Liest einen double-Wert


=== Booleans === 
<syntaxhighlight lang="java">
'''nextBoolean()''' 
final double MWST = 0.19;
Liest einen boolean-Wert (true oder false)
</syntaxhighlight>


=== Zusätzliche Methoden ==
== Gültigkeitsbereich (Scope) ==
'''hasNext()''' 
Der '''Scope''' bestimmt, wo eine Variable verwendet werden darf:
Prüft, ob ein weiteres Token vorhanden ist 
* innerhalb eines Blocks { }
'''hasNextLine()'''
* innerhalb einer [[Methoden in Java|Methode]]
Prüft, ob eine weitere Zeile vorhanden ist 
* innerhalb einer [[Klassen und Objekte|Klasse]]
'''hasNextInt(), hasNextDouble(), ... '''
Prüft, ob der nächste Wert ein bestimmter Datentyp ist 
'''useDelimiter(String regex)''' 
Setzt das Trennzeichen für next() (z. B. Leerzeichen, Komma, etc.)


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


[[Kategorie:Programmieren]]
[[Kategorie:Programmieren]]
[[Kategorie:Semester1]]
[[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).