02 Variablen

Variablen und eingebaute Funktionen #

Variablen

Wie speichern Variablen Werte? #

String gruss = "Hallo Welt!";
  1. gruss ist der Name der Variable. Wähle ihn weise!
  2. = ist der Zuweisungsoperator. Das, was auf der rechten Seite steht, wird der Variable auf der linken Seite zugewiesen. Nicht verwechseln mit dem mathematischen = !
  3. Der Wert, der hier abgespeichert wird, ist eine Zeichenkette. Sie steht in doppelten Anführungszeichen ("Ich bin eine Zeichenkette").
  4. Variablen werden (vorne) immer klein geschrieben!

Was muss der Compiler über meine Variable wissen? #

String gruss = "Hallo Welt!";
  1. Variablen haben immer einen Typ. In Java wird der Typ beim Benennen üblicherweise vorangestellt. Soll der Java-Compiler sich die Mühe machen, den Typ abzuleiten, schreiben wir var gruss = "Hallo Welt!;
  2. Neben Zeichenketten (String) kennen wir bereits Ganzzahlen (int), Kommazahlen(float) und Wahrheitswerte (boolean).

Einfache eingebaute Funktionen #

String userName = Input.readString("Wie heißt du? ");
  1. Hier wird der Variable userName der Rückgabewert einer eingebauten Funktion zugewiesen.
  2. Die Funktion Input.readString1 nimmt in Klammern ein Argument (hier: den Prompt, der auf der Kommandozeile ausgegeben wird) entgegen, und…
  3. …gibt eine Zeichenkette (hier: die Eingabe, die gemacht wird) zurück.
  4. In Java ist die camelCase-Schreibweise verbreitet – in anderen Programmiersprachen finden wir oft auch die snake_case-Schreibweise für zusammengesetzte Variablennamen.

println(gruss);
  1. println nimmt ebenfalls ein Argument entgegen und gibt den Wert dieses Arguments auf der Kommandozeile aus.
  2. Die Funktion hat allerdings einen sehr geizigen Rückgabetyp: voidbedeutet, dass wir nichts zurückbekommen!

  1. Hier gehe ich davon aus, dass du die Online-IDE nutzt – die Sprache, die dort genutzt wird, ist genau genommen nicht Java: einige üblicherweise vorhandenen Teile der Standardbibliothek fehlen. Dafür können an vielen Stellen vereinfachte Konstrukte verwendet werden. Um in Original-Java zu einem ähnlichen Ergebnis zu kommen, kannst du die input-Methode verwenden, die hier schon zweimal vorgestellt wurde. ↩︎

Wie speichern Variablen Werte? #

gruss = "Hallo Welt!"
  1. gruss ist der Name der Variable. Wähle ihn weise!
  2. = ist der Zuweisungsoperator. Das, was auf der rechten Seite steht, wird der Variable auf der linken Seite zugewiesen. Nicht verwechseln mit dem mathematischen = !
  3. Der Wert, der hier abgespeichert wird, ist eine Zeichenkette. Sie steht in einfachen oder doppelten Anführungszeichen ('Ich bin eine Zeichenkette.', "Ich auch!").
  4. Variablen werden (vorne) immer klein geschrieben!

Was muss der Compiler über meine Variable wissen? #

gruss = "Hallo Welt!"
  1. Variablen haben immer einen Typ. Python leitet den Typ vom Wert auf der rechten Seite ab. (In anderen Programmiersprachen muss der Typ meist explizit angegeben werden.)
  2. Neben Zeichenketten (str) kennen wir bereits Ganzzahlen (int), Kommazahlen(float) und Wahrheitswerte (bool).

Einfache eingebaute Funktionen #

user_name = input("Wie heißt du?")
  1. Hier wird der Variable user_name der Rückgabewert einer eingebauten Funktion zugewiesen.
  2. Die Funktion input nimmt in Klammern ein Argument (hier: den Prompt, der auf der Kommandozeile ausgegeben wird) entgegen, und…
  3. …gibt eine Zeichenkette (hier: die Eingabe, die gemacht wird) zurück.
  4. In Python ist die snake_case-Schreibweise verbreitet – in anderen Programmiersprachen finden wir oft auch die camelCase-Schreibweise für zusammengesetzte Variablennamen.

print(gruss)
  1. print nimmt ebenfalls ein Argument entgegen und gibt den Wert dieses Arguments auf der Kommandozeile aus.
  2. Die Funktion hat allerdings einen sehr geizigen Rückgabetyp: NoneType bedeutet, dass wir nichts zurückbekommen!

Aufgabe: Würfel #

Schreibe ein Würfel-Programm. Bei jedem Aufruf soll eine zufällige Zahl zwischen 1 und 6 ausgegeben werden.

Tipp

Random.randint zu tippen beginnen, und in der Code-Vervollständigung lesen, wie die Funktion zu bedienen ist.

Tipp

Die Funktion randint aus dem random-Modul importieren:

from random import randint

Mit help(randint) herausfinden, wie die Funktion zu verwenden ist.

Aufgabe: Kennenlernen #

Schreibe ein Programm, dass nach Namen und Alter fragt, und dabei (in etwa) folgende Ausgabe erzeugt:

Wie heißt Du? Jan
Hallo Jan
Wie alt bist Du? 43
Du bist also 43 Jahre alt.

Aufgabe: Den Kommentator debuggen #

David kommentiert: Wahnsinn! 32 Tore!

Untersuche folgende Ausgaben/Eingaben:

Wie viele Tore erzielte die Heimmannschaft? 3
Wie viele Tore erzielte die Auswärtsmannschaft? 2
Es wurden insgesamt 32 Tore erzielt.
  1. Programmiere das Programm nach.
  2. Überlege, was hier schiefgelaufen ist, und recherechiere, wie sich der Fehler beheben lässt!
  3. Behebe den Fehler!

Flashcards #

Wie weise ich einer Variable, die ich nachname nennen möchte, den Wert »Schulze« zu?
String nachname = "Schulze";
nachname = 'Schulze'
Wie kann ich die Zeichenketten (abgespeichert in den beiden Variablen foo und bar) aneinanderhängen und einer neuen Variable foobar zuweisen?
String foobar = foo + bar;

(Das nennt man auch: Konkatenation)

foobar = foo + bar

(Das nennt man auch: Konkatenation)

Wie kann ich eine Nutzer:inneneingabe von der Konsole einlesen und in der Variable eingabe abspeichern?
String eingabe = Input.readString("Eingabe: ");
eingabe = input('Eingabe: ')
import java.util.Scanner;

public class Programm {
    
	// …hier stehen andere Methoden, die nun
	// input("Eingabe: ") nutzen können
    
    public static String input(String prompt) {
        System.out.print(prompt);
        String eingabe = new Scanner(System.in).nextLine();
        return eingabe;
    }
}