Menu
CoddyTech

Prendre des décisions avec if et else

Fait partie de la section Rendre l’application interactive du Journey Flutter de Coddy. Leçon 18 sur 34.

if exécute du code uniquement lorsqu’une condition est vraie. else exécute un autre code lorsqu’elle ne l’est pas :

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

Ce qui se trouve entre les parenthèses est une comparaison, qui est un booléen : vrai ou faux.

  • a == b : a est égal à b (deux signes égal ; un seul sert à attribuer une valeur à une variable)
  • a != b : a n’est pas égal à b
  • a < b et a > b : inférieur à, supérieur à
  • a <= b et a >= b : inférieur ou égal à, supérieur ou égal à

Attention au cas limite : avec 8 verres, _glasses < 8 est faux, mais _glasses <= 8 est toujours vrai et laisse passer un neuvième verre.

Dans la classe State, context est disponible dans chaque méthode, pas seulement dans build ; une méthode peut donc aussi afficher une SnackBar.

challenge icon

Défi

Facile

Huit verres d’eau par jour suffisent. Modifie _drink pour qu’elle ajoute un verre uniquement tant qu’il y en a moins de 8. Sinon, elle affiche une SnackBar indiquant That is enough for today.

Essayez vous-même

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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Rendre l’application interactive

Entraînez-vous par vous-même : Compilateur Flutter en ligne