sexta-feira, 9 de março de 2012

Operadores Lógicos e Condicionais II

Nesta Lição, eu quero mostrar como o switch é mais apropriado no caso de menus, pois o código com switch é mais simplificado e objetivo, reduzindo assim o código.

Vejamos este símples exemplo:



import java.util.Scanner;

public class menuIf {
    public static void main(String[] args) {
//Usaremos três variáveis, uma variável inteira e duas Strings
//A principal será a variável escolha, onde o usuário informará ao programa se ele deseja
//iniciar, ver os créditos ou sair
        int escolha = 0;
        String nome = "";
        String voltar;
        Scanner input = new Scanner(System.in);
//Através deste while acessaremos o menu todas as vezez, exceto quando informado 3
//Lembrando que ainda não vimos while em nossas lições que é uma estrutura de repetição
        while (escolha != 3) {
            System.out.println("Menu if");
            System.out.println("1.Iniciar \n" + "2.Créditos \n" + "3.Sair");
            escolha = input.nextInt();
//Se escolha é igual a 1 faça
            if (escolha == 1) {
                System.out.println("Você acaba de iniciar este programa");
                System.out.println("Digite seu nome: ");
                nome = input.next();
                System.out.println("Olá! " + nome);
            }
//Se escolha é igual a 2 faça
            if (escolha == 2) {
                System.out.println("Créditos: by Renan Raphael");
                System.out.println("Digite voltar");
                voltar = input.next();
            }
//Se escolha é igual a 3 faça
            if (escolha == 3) {
                System.out.println("Saindo...");
            }
        }
    }

}
E agora veremos este mesmo exemplo com switch:

import java.util.Scanner;

public class switchCase {

    public static void main(String[] args) {
//Nossas variáveis
        int escolha = 0;
        String nome = "";
        String voltar;
        Scanner input = new Scanner(System.in);
//Estrutura de repetição while para o menu
        while (escolha != 3) {
            System.out.println("Menu");
            System.out.println("1.Iniciar \n" + "2.Créditos \n" + "3.Sair");
            escolha = input.nextInt();
//switch, onde através do valor da variável escolha, teremos executado um dos casos
            switch (escolha) {
//caso escolha seja 1
            case 1:
                System.out.println("Você acaba de iniciar este programa");
                System.out.println("Digite seu nome: ");
                nome = input.next();
                System.out.println("Olá! " + nome);
                break;
//break quebra a leitura do switch, impedindo que outros cases sejam executados,
//ou seja, o case 1 será executado, mas não o case 2 e 3.
            case 2:
                System.out.println("Créditos: by Renan Raphael");
                System.out.println("Digite voltar");
                voltar = input.next();
                break;
//qualquer valor diferente de 1 e 2 é executado default
//mas para sair tanto switch como do while teria que ser usado o valor 3 para escolha
            default:
                System.out.println("Saindo...");
                break;

            }

        }
    }

}
É bem útil usar switch para menus, pois facilita o entendimento do código.
Bem vejamos  even now este exemplo:

import java.util.Scanner;

public class switchImpar {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
//Nossa variável número irá receber um número de 1 a 10 somente
        int numero = 0;
//Este while intrometido descarta a opção de informar um valor menor do que 1, ou maior que 10
//Este while implementado...
        while (numero < 1 || numero > 10) {
            System.out.println("Digite um número de 1 a 10: ");
            numero = input.nextInt();
        }
//Bom aqui nós temos o switch, onde será visto se o número é impar ou par
//O case pode ser feito dessa forma: 1, 3, 5, 7, 9 são todos ímpares e 2, 4, 6, 8, 10 são todos pares
        switch (numero) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 9:
            System.out.println("O número é ímpar!");
            break;
        case 2:
        case 4:
        case 6:
        case 8:
        case 10:
            System.out.println("O número é par!");
        }
    }

}
No exemplo acima, ainda é uma boa opção, mas usando o if com cálculos aritméticos é bem melhor,
vamos observar:

import java.util.Scanner;

public class ifImpar {
    public static void main(String[] args) {
//A variável numero deve ser inicializada com 0, pois a princípio numero deve ser diferente de 1,2,...,10
        int numero = 0;
        Scanner input = new Scanner(System.in);
//Estrutura de repetição para a leitura do número
        while (numero < 1 || numero > 10) {
            System.out.println("Digite um número de 1 a 10");
            numero = input.nextInt();
        }
///Se numero dividido por 2 obterá resto igual a 1, este número é ímpar
        if (numero % 2 == 1) {
            System.out.println("O número é ímpar");
        }
//Se numero dividido por 2 obterá resto igual a 0, este número é par
        if (numero % 2 == 0) {
            System.out.println("O número é par");
        }
    }

}
Bom termimos a lição de Operadores Lógicos e Condicionais II. Na próxima lição iremos estudar as Estruturas de Repetição I. Comente esta lição!
O amor seja não fingido. Aborrecei o mal e apegai-vos ao bem.
Romanos 12:9

O amor seja não fingido. Aborrecei o mal e apegai-vos ao bem.
Romanos 12:9
 Romanos 12:09 
09 - O amor seja não fingido. Aborrecei o mal e apegai-vos ao bem.
O amor seja não fingido. Aborrecei o mal e apegai-vos ao bem.
Romanos 12:9

O amor seja não fingido. Aborrecei o mal e apegai-vos ao bem.
Romanos 12:9

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...