🔷 C#

Arithmetische Operationen in C#

Was ist das und wozu?

Stell dir vor, du spielst ein Computerspiel. Du hast 5 Leben. Du schaffst ein Level und findest ein Medikit, das +3 Leben gibt. Wie viele Leben hast du jetzt? Richtig, 8. Das ist eine arithmetische Operation – die Addition.

In der Programmierung müssen wir, wie im echten Leben, ständig etwas berechnen: wie viele Punkte ein Spieler verdient hat, wie viel Geld noch auf dem Konto ist, in wie vielen Tagen Neujahr ist. Arithmetische Operationen sind grundlegende mathematische Aktionen (Addition, Subtraktion, Multiplikation, Division), die ein Computer sofort ausführen kann.

Warum sollte man das wissen? Wenn du Spiele, Taschenrechner, Ausgabenverwaltungsprogramme oder sogar einfache Chatbots erstellen möchtest, wirst du ständig Arithmetik verwenden müssen. Ein Computer ohne sie ist wie ein Taschenrechner ohne Tasten: ein nutzloses Stück Technik.

Syntax und Codebeispiele

In C# sehen arithmetische Operationen fast genauso aus wie in der Mathematik. Hier sind die grundlegenden Zeichen:

  • + — Addition
  • - — Subtraktion
  • * — Multiplikation (Sternchen, nicht Kreuz)
  • / — Division (Schrägstrich)
  • % — Modulo (Rest einer Division) (noch unklar? Wir werden es bald verstehen)

Schauen wir uns Beispiele an. Stell dir vor, wir schreiben ein Programm zur Berechnung des Taschengeldes eines Schülers.

// Beispiel 1: Geld addieren
int pocketMoney = 500; // Petja hatte 500 Rubel
int giftFromGrandma = 200; // Oma gab noch 200 dazu
int totalMoney = pocketMoney + giftFromGrandma; // Addieren
Console.WriteLine("Petja hat jetzt: " + totalMoney + " Rubel");
// Ausgabe: Petja hat jetzt: 700 Rubel

Hier haben wir zwei Variablen (Speicherzellen) mit Zahlen erstellt, sie addiert und das Ergebnis in einer dritten Variable gespeichert. Alles wie in der Mathematik: 500 + 200 = 700.

// Beispiel 2: Ausgaben subtrahieren
int money = 1000; // Es war tausend
int iceCreamPrice = 150; // Eis kostet 150
int remaining = money - iceCreamPrice; // Subtrahieren
Console.WriteLine("Übrig: " + remaining + " Rubel");
// Ausgabe: Übrig: 850 Rubel

Hier ziehen wir den Preis des Eises vom vorhandenen Geld ab. Der Computer erledigt das in einer Mikrosekunde.

// Beispiel 3: Multiplizieren (wie viel Geld pro Woche?)
int dailyAllowance = 100; // 100 Rubel pro Tag
int daysInWeek = 7;
int weeklyTotal = dailyAllowance * daysInWeek; // Multiplizieren
Console.WriteLine("In einer Woche angespart: " + weeklyTotal + " Rubel");
// Ausgabe: In einer Woche angespart: 700 Rubel

Multiplikation ist einfach wiederholte Addition. Anstatt 100+100+100+100+100+100+100 zu schreiben, schreiben wir 100 * 7. Praktisch, oder?

// Beispiel 4: Dividieren (wie viele bekommt jeder Freund?)
int totalCandies = 20; // 20 Bonbons
int friends = 4; // 4 Freunde
int candiesPerFriend = totalCandies / friends; // Dividieren
Console.WriteLine("Jeder Freund bekommt: " + candiesPerFriend + " Bonbons");
// Ausgabe: Jeder Freund bekommt: 5 Bonbons

Die Division funktioniert wie gewohnt, aber es gibt einen Haken: Wenn du ganze Zahlen dividierst, ist das Ergebnis ebenfalls eine ganze Zahl. 20 / 4 = 5, alles ok. Aber was ist mit 20 / 3? Das Ergebnis ist 6, nicht 6.666... Weil wir mit ganzen Zahlen (int) arbeiten. Für Bruchzahlen verwendet man double oder float.

// Beispiel 5: Modulo (Rest der Division) (wer ist übrig?)
int totalCandies = 20;
int friends = 3;
int remainder = totalCandies % friends; // % ist der Rest
Console.WriteLine("Es bleiben übrig: " + remainder + " Bonbons");
// Ausgabe: Es bleiben übrig: 2 Bonbons

Der Operator % (Prozent) ist eigentlich kein Prozentzeichen, sondern der Modulo-Operator (Rest einer Division). 20 geteilt durch 3 ergibt 6 ganze und 2 Rest. Dieser Operator ist sehr nützlich, um zu prüfen, ob eine Zahl gerade ist (wenn Zahl % 2 == 0, dann ist sie gerade).

Vergleich mit Python

Python ist eine weitere beliebte Programmiersprache. Die Arithmetik sieht ihr sehr ähnlich, aber es gibt ein paar Unterschiede. Lass uns vergleichen:

Operation C# Python
Addition int a = 5 + 3; a = 5 + 3
Subtraktion int b = 10 - 4; b = 10 - 4
Multiplikation int c = 6 * 7; c = 6 * 7
Division double d = 10.0 / 3; (Punkt nötig) d = 10 / 3 (in Python 3 ergibt 3.333...)
Modulo (Rest) int e = 10 % 3; e = 10 % 3
Potenzierung double f = Math.Pow(2, 3); (über Math) f = 2 ** 3 (einfach **)

Die Hauptunterschiede:

  • In C# musst du den Typ der Variable angeben (int, double), in Python nicht.
  • In C# ergibt die Division ganzer Zahlen ein ganzzahliges Ergebnis (10 / 3 = 3), in Python 3 ein gebrochenes (10 / 3 = 3.333...).
  • In C# musst du für die Potenzierung eine spezielle Funktion Math.Pow aufrufen, in Python gibt es den einfachen Operator **.
  • In C# endet jeder Befehl mit einem Semikolon (;), in Python nicht.

Ein Beispiel in Python zum Vergleich:

# Python-Version
pocket_money = 500
gift = 200
total = pocket_money + gift
print("Petja hat jetzt:", total, "Rubel")
# Ausgabe: Petja hat jetzt: 700 Rubel

Wie du siehst, ist die Logik dieselbe, aber die Syntax ist einfacher (ohne int, ohne ;). Allerdings gibt C# mehr Kontrolle über die Datentypen, was hilft, Fehler in großen Programmen zu vermeiden.

Typische Anfängerfehler

Wenn du anfängst, sind Fehler völlig normal. Hier sind die häufigsten Fallstricke:

  1. Semikolon vergessen
    int x = 5 — Fehler! Benötigt: