Menu
CoddyTech

Decisões com if e else

Parte da seção Tornando o app interativo do Journey de Flutter da Coddy. Lição 18 de 34.

if executa o código somente quando algo é verdadeiro. else executa outro código quando não é:

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

O que vai entre parênteses é uma comparação, que resulta em um valor booleano: verdadeiro ou falso.

  • a == b: a é igual a b (dois sinais de igual; um é usado para atribuir um valor a uma variável)
  • a != b: a não é igual a b
  • a < b e a > b: menor que, maior que
  • a <= b e a >= b: menor ou igual, maior ou igual

Fique atento ao limite: com 8 copos, _glasses < 8 é falso, mas _glasses <= 8 ainda é verdadeiro e permite um nono copo.

Dentro da classe State, context está disponível em todos os métodos, não apenas em build, então um método também pode exibir uma SnackBar.

challenge icon

Desafio

Fácil

Oito copos de água por dia são suficientes. Altere _drink para que adicione um copo somente enquanto houver menos de 8. Caso contrário, ele exibirá uma SnackBar com a mensagem That is enough for today.

Experimente você mesmo

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 seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Tornando o app interativo

Pratique por conta própria: Compilador de Flutter online