Skip to content

Kapitel 4: Dart Operatoren und Ausdrücke

4.1 Arithmetische Operatoren

dart
void main() {
  int a = 10;
  int b = 3;
  
  print(a + b);  // Addition: 13
  print(a - b);  // Subtraktion: 7
  print(a * b);  // Multiplikation: 30
  print(a / b);  // Division: 3.3333
  print(a % b);  // Modulo: 1
  print(a++);    // Inkrement: 10 (dann 11)
  print(--b);    // Dekrement: 2
}

4.2 Zuweisungsoperatoren

dart
void main() {
  int x = 10;
  x += 5;  // x = x + 5
  x -= 3;  // x = x - 3
  x *= 2;  // x = x * 2
  x /= 2;  // x = x / 2
}

4.3 Vergleichsoperatoren

dart
void main() {
  int a = 10;
  int b = 5;
  
  print(a == b);  // Gleich: false
  print(a != b);  // Ungleich: true
  print(a > b);   // Größer: true
  print(a < b);   // Kleiner: false
  print(a >= b);  // Größer oder gleich: true
  print(a <= b);  // Kleiner oder gleich: false
  
  // == vs identical()
  String s1 = 'Dart';
  String s2 = 'Dart';
  print(s1 == s2);         // true (Wertvergleich)
  print(identical(s1, s2)); // true (Referenzvergleich)
}

4.4 Logische Operatoren

dart
void main() {
  bool x = true;
  bool y = false;
  
  print(x && y);  // Und: false
  print(x || y);  // Oder: true
  print(!x);      // Nicht: false
}

4.5 Bedingte Operatoren

Ternärer Operator

dart
void main() {
  int alter = 18;
  String status = alter >= 18 ? 'Volljährig' : 'Minderjährig';
  print(status);
}

Null-Prüfungsoperatoren

dart
void main() {
  String? name;
  print(name ?? 'Unbekannt');  // Null-Koaleszenz
  
  name ??= 'Gast';  // Null-Zuweisung
  print(name);
}

4.6 Ausdrücke und Operatorpriorität

Priorität (von hoch zu niedrig):

  1. (), [], .
  2. !, -, ++, --
  3. *, /, %
  4. +, -
  5. >, <, >=, <=
  6. ==, !=
  7. &&
  8. ||
  9. ??
  10. =, +=, etc.

4.7 Praxisbeispiel

dart
void main() {
  // Einfache Berechnung
  int zahl1 = 15;
  int zahl2 = 4;
  int summe = zahl1 + zahl2;
  print('Summe: ' + summe.toString());
  
  // Bedingte Bewertung
  int punkte = 85;
  String bewertung = punkte >= 90 ? 'Ausgezeichnet' :
                     punkte >= 70 ? 'Gut' : 'Verbesserungswürdig';
  print('Bewertung: ' + bewertung);
}

Frei für alle Anfänger