Menu
CoddyTech

Entscheidungen mit if und else

Teil des Abschnitts Apps interaktiv gestalten der Flutter-Journey von Coddy. Lektion 18 von 34.

if führt Code nur aus, wenn etwas wahr ist. else führt anderen Code aus, wenn es nicht wahr ist:

if (_count < 10) {
  _count++;
} else {
  print('Full');
}

Was in den Klammern steht, ist ein Vergleich, der ein boolescher Wert ist: wahr oder falsch.

  • a == b: a ist gleich b (zwei Gleichheitszeichen; eines dient dazu, einer Variable einen Wert zuzuweisen)
  • a != b: a ist nicht gleich b
  • a < b und a > b: kleiner als, größer als
  • a <= b und a >= b: kleiner oder gleich, größer oder gleich

Achte auf den Grenzfall: Bei 8 Gläsern ist _glasses < 8 falsch, aber _glasses <= 8 ist weiterhin wahr und lässt ein neuntes Glas durch.

Innerhalb der Klasse State ist context in jeder Methode verfügbar, nicht nur in build, sodass eine Methode auch eine SnackBar anzeigen kann.

challenge icon

Aufgabe

Einfach

Acht Gläser Wasser am Tag sind genug. Ändere _drink so, dass ein Glas nur hinzugefügt wird, solange es weniger als 8 sind. Andernfalls zeigt die Funktion eine SnackBar mit dem Text That is enough for today an.

Probier es selbst

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: const HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  const HomePage({super.key});

  @override
  State<HomePage> createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  int _glasses = 0;

  void _drink() {
    setState(() {
      _glasses++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Water')),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: [
            Text('Glasses today: $_glasses', style: const TextStyle(fontSize: 24)),
            const SizedBox(height: 16),
            ElevatedButton(onPressed: _drink, child: const Text('Drink a glass')),
          ],
        ),
      ),
    );
  }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Apps interaktiv gestalten

Übe selbstständig: Online-Flutter-Compiler