Lwkass 1 #1 Posted May 5, 2010 (edited) # Comparação Lógica e Estrutura Switch Aula 4 #Comparação Lógica: Assim como foi explicado na aula anterior, comparação é geralmente usada na condição, na aula passada, foram usadas comparações que usavam apenas 1 condição, por exemplo, se um é maior que o outro, caso essa condição fosse completada executaria o que estivesse dentro desse if, certo ? Mas e se você quer saber se um numero é maior que 50 e ao mesmo tempo se é menor que 100, como fazer ? Simples... Você usa Comparação Lógica ! Por exemplo, uma comparação usando comparação lógica: int num = 75; if (num > 50 && num < 100) { System.out.println("A condição teve valor true"); } Você pode ver que eu usei 2 comparações na condição ao envez de apenas 1, aquele simbolo "&&" significa and. - && - And (Traduzindo: e): Como dito acima, o &&, permite fazer multiplas comparações, por exemplo: int num = 75; if (num > 50 && num < 100 && num == 75) { System.out.println("A condição teve valor true"); } Exemplo meio sem noção, mas apenas pra entender o funcionamento Lembrando que so executara oque está dentro do if se todas as comparações tiverem true como resultado ! - || - Or (Traduzindo: ou): O or é diferente do and, or só precisa que uma de suas comparação retornem true para executar oque esta dentro do if, exemplo: int num = 75; if (num < 20 || num >= 70) { System.out.println("A condição teve valor true"); } Analisando a condição, vai verificar primeiro se num é menor que 20, se não for vai pro proximo, se num é maior ou igual a 70, e como num, que é 75, é maior que 70, vai retornar true. - ! - Not (Traduzindo: não): Bem, o not não se encaixa em comparação lógica, mas não podia deixar de falar sobre ele. O not tem uma função muito simples, ele inverte o resultado necessario para prosseguir. Mas... como assim ? Vamos por partes... int num = 75; if (num > 50) { System.out.println("A condição teve valor true"); } o código acima só ira executar o println, se for true (verdadeiro) que a variavel num é maior que 50, okay... int num = 75; if (!num > 50) { System.out.println("A condição teve valor true"); } Veja que nesse código, foi adicionado o simbolo "!" antes da variavel num. Agora, só será executado o println se num não for maior que 50, ou seja, se for falso que num é maior que 50 #Estrutura Switch: Bem, switch é muito simples, basicamente ele vai fazer uma ação para cada case (caso). Uma estrutura switch necessita de 3 coisas: 1 - A variavel a ser analisada 2 - Os cases que a variavel poderá assumir 3 - O Valor padrão que se caso nenhum case for executado, sera executado o default (padrão) [/Opcional] Um Exemplo de como seria uma estrutura switch: int mes = 5; switch (mes) { case 1: System.out.println("Janeiro"); break; case 2: System.out.println("Fevereiro"); break; case 3: System.out.println("Março"); break; case 4: System.out.println("Abril"); break; case 5: System.out.println("Maio"); break; case 6: System.out.println("Junho"); break; case 7: System.out.println("Julho"); break; case 8: System.out.println("Agosto"); break; case 9: System.out.println("Setembro"); break; case 10: System.out.println("Outubro"); break; case 11: System.out.println("Novembro"); break; case 12: System.out.println("Dezembro"); break; default: System.out.println("Nenhum mes valido"); } Essa é uma estrutura básica de switch se baseando numa variavel chamada mes, para cada valor que a variavel mes tiver, sera impresso na tela o mes correspondente Mas lembre-se você só pode utilizar variaveis de valores inteiros (int) para serem analisadas, switch não recebe valor true ou false, apenas int ! ----------------- Próxima Aula: Vetores, Matrizes e Loops Aula feita por: Lwkass Edited May 19, 2010 by Lwkass Share this post Link to post Share on other sites
Piikachu 0 #2 Posted May 5, 2010 Aprovado, Continue assim, estou sem tempo pra programar mais aulas, mas quem precisar tirar dúvidas, estou disponível em tempo integral no IRC, no canal do fórum, e vagamente por Mensagens Privadas. Atenciosamente, Piikachu. Share this post Link to post Share on other sites
HenneT 2 #3 Posted June 8, 2010 Só faltou os operadores 'curto circuito' para ficar completa. (& e |) Abraços Share this post Link to post Share on other sites