quarta-feira, 25 de abril de 2012

Loop utilizando For

   Neste exemplo de laço utilizando o "for" fazemos a inicialização, teste de execução e o incremento da variável de controle já no inicio do código.
   Exemplo

     for (inicializacao; condicao; incremento){
        Codigo;
     }


   No caso abaixo a utilização do "for" é idêntica a que usamos no post anterior (Estrutura de repetição) onde usamos o "while" para realizarmos o "loop".


/**
 * @author marco.bidoia@gmail.com
 */

public class LoopComFor {

      public static void main(String[] args) {

            for (int i = 0; i < 10; i++){
                  System.out.println("O valor de i é: " + i);
            }

      }

}



O resultado da execução do programa é:

O valor de i é: 0
O valor de i é: 1
O valor de i é: 2
O valor de i é: 3
O valor de i é: 4
O valor de i é: 5
O valor de i é: 6
O valor de i é: 7
O valor de i é: 8
O valor de i é: 9



   Poderíamos também tratar o incremento dentro do código conforme exemplo:

for (int i = 0; i < 10;){
      System.out.println("O valor de i é: " + i);
      // Incremento da variável em outra parte do código
      i++;
}


   Neste caso o incremento da variável "i" é feito no bloco da execução e não na primeira linha onde se inicia o  laço "for", mas mesmo assim o resultado obtido é o mesmo.

terça-feira, 24 de abril de 2012

Estrutura de repetição

   Para demostrar uma estrutura de repetição vamos utilizar o "while" (enquanto), no primeiro exemplo o controle da execução é feito através da condição "loop < 10"  a variável "loop" é incrementada após cada execução do bloco.



/**
 * @author marco.bidoia@gmail.com
 */
public class LoopComWhile1 {

      public static void main(String[] args) {
           
            // Declarando a variável que controlara o while.
            int loop = 0;
            // Equanto o valor de loop for menor que 10 faça
            while (loop < 10){
                  System.out.println("O Valor de loop é: " + loop);
                  // Incrementa um valor na variável loop.
                  loop++;
            }

      }

}

O resultado da execução do programa é:

O Valor de loop é: 0
O Valor de loop é: 1
O Valor de loop é: 2
O Valor de loop é: 3
O Valor de loop é: 4
O Valor de loop é: 5
O Valor de loop é: 6
O Valor de loop é: 7
O Valor de loop é: 8
O Valor de loop é: 9



   Aqui temos outro exemplo de "loop" com "while", só que desta vez utilizamos uma forma diferente para controlar a execução do "while". Vamos controlar a execução com uma variável do tipo "boolean" chamada executar, o valor inicial da variável executar é "true" e a cada ciclo faremos uma verificação
"executar = loop < 10;" (que retorna um valor booleano) e enquanto o valor da variável "loop" for menor que 10 ela recebera "true" e continuara a execução. 


/**
 * @author marco.bidoia@gmail.com
 */
public class LoopComWhile2 {

      public static void main(String[] args) {
           
            // Declarando a variável que controlara o while.
            boolean executar = true;
            int loop = 0;
            // Equanto o valor da variável executar for true faça
            while (executar){
                  System.out.println("O Valor de loop é: " + loop);
                  // Incrementa um valor na variável loop.
                  loop++;
                  executar = loop < 10;
            }

      }

}


O resultado da execução do programa é:

O Valor de loop é: 0
O Valor de loop é: 1
O Valor de loop é: 2
O Valor de loop é: 3
O Valor de loop é: 4
O Valor de loop é: 5
O Valor de loop é: 6
O Valor de loop é: 7
O Valor de loop é: 8
O Valor de loop é: 9

   Nas duas execuções o resultado é o mesmo, a diferença é a forma que fazemos o controle de execução do laço.
   Quando trabalhamos com o laço de repetição "while" temos que tomar cuidado para ele não entrar em uma execução infinita, para isso temos que sempre garantir um controle de execução.
   No primeiro caso usamos a condição "loop < 10" e no segundo a "executar" que era controlado por uma condição interna idêntica a usada no primeiro exemplo que alterava o valor da variável "executar" para  "false"

quarta-feira, 18 de abril de 2012

Utilizando o operador ternário

Aqui faremos um exemplo utilizando o operador ternário exemplo:
  condição?Valor1:Valor2
Se a condição for verdadeira, Valor1 se não Valor2. Segue um exemplo de operador ternário em java.


/**
 * @author marco.bidoia@gmail.com
 *
 */
public class OperadorTernario {

      public static void main(String[] args) {
           
            int valor1 = 20;
            int valor2 = 15;
            int valorEscolhido;
           
            // Aqui o maior valor é o valor1 = 20
            valorEscolhido = valor1 > valor2 ?valor1: valor2;
            System.out.println("O Valor escolhido é = " + valorEscolhido);
           
            // Alteramos o valor1
            valor1 = 10;
            // Aqui o maior valor é o valor2 = 15
            valorEscolhido = valor1 > valor2 ?valor1: valor2;
            System.out.println("O Valor escolhido é = " + valorEscolhido);
           
      }

}

O resultado da execução deste código é a seguinte:

O Valor escolhido é = 20
O Valor escolhido é = 15

segunda-feira, 16 de abril de 2012

Condicionais - Continuação


   Neste exemplo vamos fazer três testes mudando apenas os valores testados, fazendo com que em cada teste o programa entre em uma condição diferente.
   No primeiro teste temos um produto no valor de R$100,00 e sem desconto, no segundo temos novamente o valor de R$ 100,00 mais também temos um desconto e por fim temos um valor de R$ 20,00 e não temos desconto. 

O teste do programa abaixo seria assim

   if (Preco é maior que 50 e Não tem desconto) {
      System.out.println("Esta muito caro e não tem desconto");
   } else if (Tem desconto) {
      System.out.println("Esta caro mais tem desconto");
   } else { // Se não cair nas condições acima entra nesta.
      System.out.println("Mesmo sem desconto está barato");
   }





/**
 * @author marco.bidoia@gmail.com
 */
public class CondicionaisBoolean {

      public static void main(String[] args) {
           
            int Preco;
            boolean Desconto;
           
            // Primeiro Teste.
            System.out.println("1º Teste");
            Preco = 100; // R$ 100,00
            Desconto = false; // Não tem desconto         
            if (Preco > 50 && !Desconto) {
                  System.out.println("Esta muito caro e não tem desconto");
            } else if (Desconto) {
                  System.out.println("Esta caro mais tem desconto");
            } else {
                  System.out.println("Mesmo sem desconto está barato");
            }

            // Segundo Teste.
            System.out.println("2º Teste");
            Preco = 100; // R$ 100,00
            Desconto = true; // TEm desconto
            if (Preco > 50 && !Desconto) {
                  System.out.println("Esta muito caro e não tem desconto");
            } else if (Desconto) {
                  System.out.println("Esta caro mais tem desconto");
            } else {
                  System.out.println("Mesmo sem desconto está barato");
            }
           
            // Terceiro Teste.
            System.out.println("3º Teste");
            Preco = 20; // R$ 20,00
            Desconto = false; // Não tem desconto
            if (Preco > 50 && !Desconto) {
                  System.out.println("Esta muito caro e não tem desconto");
            } else if (Desconto) {
                  System.out.println("Esta caro mais tem desconto");
            } else {
                  System.out.println("Mesmo sem desconto está barato");
            }
           
      }

}

A saída da execução do programa acima deve ser está:

1º Teste
Esta muito caro e não tem desconto
2º Teste
Esta caro mais tem desconto
3º Teste
Mesmo sem desconto está barato


Para qualquer duvida sobre os operadores utilizados você pode consultar o post sobre operadores da linguagem java.


sábado, 7 de abril de 2012

Utilizando cláusual IF e Else

Quando trabalhamos com condições no java, IF ELSE, usamos os Operadores para os testes das condições. No exemplo abaixo só utilizamos um operador (Maior que ">"), mais poderíamos utilizar qualquer um ou até mais de um.


/**
 * @author marco.bidoia@gmail.com
 */

public class Condicionais {
     
      public static void main(String args []){
           
            // Declaração das variáveis e atribuição de valores.
            int A = 21;
            int B = 10;
           
            // Valores das variáveis A e B
            System.out.println("O valor de A é " + A);
            System.out.println("O valor de B é " + B);
           
            // Primeiro teste de condição
            // (Se A é maior que B faça)
            if (A > B) {
                  // Divide A por 3
                  // para A ficar com um valor menor que B
                  A = A / 3;
                  // Imprime o atual valor de A
                  System.out.println("O valor atual de A é " + A);
            }
           
            // Segundo teste de condição
            //(Se A é maior que B faça Se não)
            if (A > B){
                  // Imprime o valor de A
                  System.out.println("Se A maior que B mostra o valor de A " + A);
                  // Se não A for menor que B imprime o valor de B
            } else {
                  // Imprime o valor de B
                  System.out.println("Se não mostra o valor de B " + B);
            }
      }
}


O Resultado da execução do código acima é:

O valor de A é 21
O valor de B é 10
O valor atual de A é 7
Se não mostra o valor de B 10

Podemos observar que o conteúdo desta linha:
 System.out.println("Se A maior que B mostra o valor de A " + A);
 não foi apresentado no resultado final da execução pois no teste de condição o resultado tido como verdadeiro foi o do ELSE, diferente do primeiro teste que tínhamos apenas uma condição e ela era verdadeira.