Caixa Eletronico

Exemplo em Java — Scanner, if/else, while, switch

Legenda de cores

Palavra reservada do Java (import, if, while, switch...)
Nome de classe, método ou comando pronto (Scanner, System, println)
Texto fixo entre aspas (String)
Número
Comentário (explicação, não é código)

As cores foram escolhidas para não misturar vermelho com verde, evitando confusão para quem tem daltonismo. Cada cor tem sempre o mesmo significado no código abaixo.

import java.util.Scanner;

public class CaixaEletronico {

    // (1) saldo e senha ficam guardados aqui enquanto o programa roda
    static double saldo = 1000.0;
    static String senhaCorreta = "1234";

    public static void main(String[] args) {
        // (2) Scanner e o objeto que le o que o usuario digita no teclado
        Scanner teclado = new Scanner(System.in);

        System.out.println("=== Bem-vindo ao Caixa Eletronico ===");
        System.out.print("Digite sua senha: ");
        String senhaDigitada = teclado.nextLine();

        // (3) valida a senha antes de deixar entrar no menu
        if (!senhaDigitada.equals(senhaCorreta)) {
            System.out.println("Senha incorreta. Encerrando.");
            return;
        }

        System.out.println("Senha correta! Acesso liberado.\n");

        boolean continuar = true;

        // (4) loop principal: repete o menu ate o usuario escolher sair
        while (continuar) {
            System.out.println("----- MENU -----");
            System.out.println("1 - Consultar saldo");
            System.out.println("2 - Depositar");
            System.out.println("3 - Sacar");
            System.out.println("4 - Sair");
            System.out.print("Escolha uma opcao: ");

            int opcao = teclado.nextInt();

            // (5) switch decide o que fazer de acordo com a opcao escolhida
            switch (opcao) {
                case 1:
                    System.out.println("Seu saldo atual e: R$ " + saldo);
                    break;

                case 2:
                    System.out.print("Valor para depositar: R$ ");
                    double valorDeposito = teclado.nextDouble();

                    if (valorDeposito <= 0) {
                        System.out.println("Valor invalido!");
                    } else {
                        saldo = saldo + valorDeposito;
                        System.out.println("Deposito realizado! Novo saldo: R$ " + saldo);
                    }
                    break;

                case 3:
                    System.out.print("Valor para sacar: R$ ");
                    double valorSaque = teclado.nextDouble();

                    if (valorSaque <= 0) {
                        System.out.println("Valor invalido!");
                    } else if (valorSaque > saldo) {
                        System.out.println("Saldo insuficiente!");
                    } else {
                        saldo = saldo - valorSaque;
                        System.out.println("Saque realizado! Novo saldo: R$ " + saldo);
                    }
                    break;

                case 4:
                    // (6) desliga o loop, o programa termina no proximo teste do while
                    System.out.println("Obrigado por usar o Caixa Eletronico. Ate logo!");
                    continuar = false;
                    break;

                default:
                    System.out.println("Opcao invalida! Tente novamente.");
            }

            System.out.println(); // linha em branco pra separar as rodadas
        }

        teclado.close();
    }
}

Este código não pode ser copiado — digite-o você mesmo para praticar.

Passo a passo

  1. Guarda os dados iniciais. Antes do programa começar, ele já sabe que o saldo é R$ 1000 e que a senha certa é "1234".
  2. Abre o "ouvido" do programa. O Scanner é o que permite ao programa ler o que o aluno digita no teclado.
  3. Confere a senha. Se a senha digitada for diferente da correta, o programa avisa e encerra com return — não chega nem a mostrar o menu.
  4. Repete o menu. O while (continuar) mantém o menu aparecendo várias vezes, até o aluno escolher a opção de sair.
  5. Escolhe o que fazer. O switch olha o número digitado e executa só o bloco (case) correspondente: saldo, depósito, saque ou sair.
  6. Encerra com segurança. Ao escolher sair, a variável continuar vira false, o while para de repetir e o programa termina.

Glossário rápido

Scanner
Classe do Java usada para ler dados digitados pelo usuário.
static
Marca algo que pertence à classe toda, e não a um "objeto" específico — por isso dá pra usar direto no main.
if / else
Testa uma condição: se for verdadeira, faz uma coisa; senão, faz outra.
while
Repete um bloco de código enquanto a condição entre parênteses for verdadeira.
switch / case / break
Escolhe um caminho entre várias opções. O break evita que o programa "escorregue" para o próximo caso.
System.out.println
Comando que imprime uma mensagem na tela, pulando linha no final.