Programmieren_1/variablen.md

112 lines
2.5 KiB
Markdown

<!--
title: Variablen
description: Folien für Variablen in Programmieren 1
url: https://git.henriburau.de/tutorien/programmieren-1
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Variablen
Variablen sind das Behältnis für Werte in einer Programmiersprache. In Java
gibt es zwei Typen von Variablen:
* **Primitive Typen** `byte`, `short`, `char`, `int`, `long`, `double`, `float` und `boolean`
* **Referenztypen** z.B. `String`
---
## Deklaration und Initialisierung
* **Deklaration**: Das "Bekanntmachen" einer Variable.
```java
byte a;
```
* **Initialisierung**: Das erstmalige Belegen einer Variable.
```java
a = 10;
```
* Man kann auch in einer Zeile gleichzeitig deklarieren und initialisieren.
```java
int b = -323;
```
---
## Identifier
Bezeichner für Methoden-, Variablen- und Klassennamen.
Ein Identifier muss folgende Eigenschaften erfüllen um in Java gültig zu sein:
* Besteht nur aus Buchstaben des Alphabets, Ziffern und `_` und `$`
* Ist kein reservierter Identifier (`class`, `public`, `int`, etc.)
* Beginnt nicht mit einer Ziffer
---
## Konventionen
Regeln um Quelltext lesbarer zu machen.
Es gibt einige Absprachen unter Java-Entwicklern wie man z.B. Identifier wählt. Die wichtigsten davon sind:
* Methodennamen werden klein geschrieben.
* Variablennamen werden klein geschrieben.
* Klassennamen werden groß geschrieben.
---
## Literale
Die kleinste Einheit für Werte im Quelltext.
Literale wurden für alle **primitiven** Datentypen und für `String` festgelegt:
* `byte`, `short`, `int`: `5235`, `134`, `-2`
* `boolean`: `true`, `false`
* `double`: `234234.34`, `-34.1`, `0.0`
* `float`: `31.3f`, `60f`
* `long`: `23424234234L`, `98745938l`
* `char`: `'a'`, `'4'`
* `String`: `"Hallo welt"`
---
## Ausdrücke und Zuweisungen
**Ausdrücke** Berechnungen oder Methodenaufrufe die einen Wert zurückgeben.
**Zusweisungen** Ergebnis eines Ausdrucks wird einer Variable zugewiesen.
```java
String greeting = "Hallo" + "Welt";
boolean empty = greeting.isEmpty();
int result = 23 * 3;
```
---
## **Aufgaben**
Welcher Datentyp ergibt Sinn für:
* Eine Hausnummer
* Eine Adresse
* Einen Buchstaben aus dem Alphabet
* Den Zustand einer Tür (offen oder geschlossen)
* Sekunden seit 980 n.C.
* Anzahl Finger pro Hand
* Temperatur
* Drehwinkel
---
Welche der folgenden Identifier sind in Java gültig?
* _variablename
* exa+ple
* 8example
* _3variable
* $testvariable
* VariableTest
* variable test
* variabletest