Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?
Mostrando postagens com marcador for. Mostrar todas as postagens
Mostrando postagens com marcador for. Mostrar todas as postagens

Testes Condicionais e Laços - Tutorial de Java

Agora que você já estudou e exercitou seus conhecimentos básicos em Java sobre tipos, variáveis, classe Scanner, print, operadores e outros conceitos essenciais para o aprendizado desta linguagem de programação, vamos seguir adiante em nossos estudos.

Nesta seção iremos aprender sobre os testes condicionais (if else e switch case) bem como os loopings ou laços (for, while e do while), que fazem parte de toda linguagem de programação.

Até o momento, nossos programas em Java simplesmente rodavam do começo ao fim, automaticamente e sempre da mesma maneira.

Ao final destes tutoriais de nossa Apostila de Java, você irá aprender a criar programas que terão um fluxo diferente, baseado nas opções e escolhas feitas por um usuário.
Ou seja, se o usuário fornecer um determinado valor, acontece algo. Se ele fornecer outro valor diferente, uma outra coisa poderá ser acionada.

Por exemplo, ao executar uma calculadora, você pode optar por fazer soma, e ela fará.
Caso opte por fazer uma multiplicação, o aplicativo irá fornecer outros resultados.
E caso queira uma divisão, seu programa vai rodar de uma maneira diferente, de modo a operar divisões, tudo de acordo com o que o usuário escolher.

Através dos laços de repetição, ou loopings, iremos ver como executar qualquer tarefa quantas vezes quisermos, de maneira automática e totalmente controlada por você programador, ou pelo usuário.

Com os conceitos destes tutoriais, nossos programas ficarão bem mais funcionais, robustos e interessantes, não só de programar, mas como também de usar.

Tutorial de Java - Testes e Laços


03. Operadores de Incremento (++) e Decremento (--)
04. Operadores de Atribuição: +=, -=, *=, /= e %=
05. Operadores de atribuição e de incremento e decremento - diferenças entre a=++b e a=b++
06. O laço while: o que é, como usar e calculando PA e PG com while
      6.1 Questões usando o laço while
07. Loop infinito, controlando laços e loopings com o while
08. Laço for: tendo um maior controle sobre as repetições
      8.1 Questões usando o laço for
09. O laço do ... while: O laço que sempre acontece...pelo menos uma vez
10. Os comandos break e continue: interrompendo e alterando fluxos e loopings
11. O comando switch: fazendo escolhas em Java
12. Exercícios envolvendo laços
Apostila Caelum resolvida: Capítulo 3, Variáveis, Tipos Primitivos e Controle de Fluxo

Apostila de Java, Capítulo 3 - Variáveis primitivas e Controle de Fluxo - Tipos primitivos e valores

Nesse artigo iremos comentar e resolver os exercícios propostos no capítulo 3, sobre Variáveis primitivas e Controle de Fluxo - Tipos primitivos e valores da apostila FJ-11: Java e Orientação a Objetos, da Caelum.
Clique aqui para saber sobre a Caelum e sua apostila.

Problemas envolvendo laços

Problemas envolvendo laços | Java ProgressivoDizer 'use isso' ou 'use aquilo' é fácil.
Agora teste sua criatividade Javeana e invente seu jeito para resolver os seguintes problemas, mas se lembre de usar:

para exercitar seu aprendizado.


Questões usando o laço for

Exercícios sobre o laço FOR em Java

Usando o laço for, faça as seguintes questões em Java:

0. Programa em Java dos patinhos da Xuxa
Xuxa, a rainha dos baixinhos, criou uma música que tem o segunte formato:

n patinhos foram passear
Além das montanhas
Para brincar
A mamãe gritou: Quá, quá, quá, quá

Mas só n-1 patinhos voltaram de lá.


Que se repete até nenhum patinho voltar de lá.
Ao final, todos os patinhos voltam:

A mamãe patinha foi procurar
Além das montanhas
Na beira do mar
A mamãe gritou: Quá, quá, quá, quá
E os n patinhos voltaram de lá.

Crie um programa em Java que recebe um inteiro positivo do usuário e exibe a música inteira na tela, onde o inteiro recebido representa o número inicial n de patinhos que foram passear.

1. Programa em Java que mostra os números ímpares

Escreva um aplicativo em Java mostra todos os números ímpares de 1 até 100.

2. Programa em Java que mostra os números pares

Escreva um aplicativo em Java mostra todos os números pares de 1 até 100.

3. Programa em Java que mostra os números pares e ímpares 

Escreva um aplicativo em Java que recebe inteiro e mostra os números pares e ímpares (separados), de 1 até esse inteiro.
4. Programa em Java que calcula a média das notas de uma turma
Escreva um programa que pergunte ao usuário quantos alunos tem na sala dele.
Em seguida, através de um laço for, pede ao usuário para que entre com as notas de todos os alunos da sala, um por vez.

Por fim, o programa mostra a média, aritmética, da turma.


5. Achando o maior número

Achar o maior, menor, média e organizar números ou sequências são os algoritmos mais importantes e estudados em Computação. Em Java não poderia ser diferente.
Em nosso curso, obviamente, também não será diferente.

Escreva um programa em Java que solicita 10 números ao usuário, através de um laço for, e ao final

mostre qual destes números é o maior.

6. Achando os dois maiores números


Escreva um programa em Java que solicita 10 números ao usuário, através de um laço for, e ao final
mostre os dois maiores números digitados pelo usuário.

7. Quadrado de asteriscos


Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*****
*****
*****
*****
8. Quadrado de asteriscos e espaços em branco

Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos e espaços em branco. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*    *
*    *
*    *
*****

9. Construa um aplicativo em Java para gerar 20 números de 1000 a 1999 e mostrar aqueles que divididos por 11 deixam resto 5.
Solução

Laço FOR: tendo um maior controle sobre as repetições

Veremos agora o tipo de laço mais importante e usado em Java, que será sempre visto nos código de nosso curso: o laço for

Sua fama se deve ao poder que temos por conta dos detalhes que o laço for é capaz de receber, sendo possível ter um maior controle sobre as repetições.

Diferenças entre o while e o for: para que serve o laço for em Java

Geralmente, o que é possível fazer usando o for, é possível fazer usando o o laço while em Java.
Então, naturalmente vem a pergunta: por que e para que serve, então, o laço for?

É o mesmo que perguntar 'por que usar a++' se podemos usar 'a=a+1'.
Simples: por questão de simplicidade e praticidade.

Nós, programadores Java, devemos procurar sempre a máxima eficiência. Fazer as coisas da maneira mais simples possível.
O uso do for se deve aos seguintes dois fatos, que você deve ter notado, caso tenha feito os exercícios sobre o laço while e caso tenha visto os exemplos do artigo while:
1. Geralmente existe um ponto de partida, um contador inicial para o laço while
2. Geralmente esse contador, ou outro, muda. De modo incrementativo ou decrementativo, até que a condição do while não seja mais satisfeita e o laço termine.

O que o laço for faz é automatizar isso.
Já que na grande maioria das vezes precisaremos desses dois fatores (inicial e de mudança), o laço for irá prover isso.

Como usar o laço for em Java

A sintaxe do laço for é a seguinte:
for(cond inicial; teste condicional ; apos iteraçao){
    //código
}

O laço funciona da seguinte maneira:
O laço se inicia pela condição inicial. Geralmente se inicia o contador. Esse primeiro estágio SEMPRE acontece.

O segundo estágio é o teste da condição do laço, um simples teste condicional. Caso seja verdade, o código é executado.
Ao término de execução do código, ocorre o fator de mudança, que geralmente é um incremento ou decremento, sempre após cada iteração do looping,

Depois a condição é testada novamente. Caso retorne 'true', o código é executado.
Ao término de execução do código, sempre ocorre o fator de mudança...e assim sucessivamente.

Faremos 3 exemplos que mostram bem o exemplo do uso e flexibilidade laço for.
É importante que você aprenda bem, pois eles serão muito usados em nosso curso de Java.

Exemplo 1: Contando até 10, com laço for

public class for1 {
    public static void main(String[] args) {
        for(int count=1 ; count <= 10 ; count++){
            System.out.println(count);
        }
    }

}

Nesse exemplo, fiz questão de mostrar uma importante característica do laço for: a declaração dentro do for
Note que, na condição inicial do contador, foi declarado o inteiro 'count', que foi usado no laço.

Como funciona:
A primeira coisa que acontece é a condição inicial. No nosso caso, é criado um inteiro, 'count' e inicializado com o valor 1.
Depois, a condição é testada. Como ela é verdadeira, ele imprime o valor de 'count', que é 1.

Depois 'count' é incrementada e vira 2.
Depois é testada. Como continua ser menor que 10, ela é imprimida. Depois incrementada, testada, imprimida...ela é imprimida até ser 10, pois depois disso ela será incrementada e 'count' será 11, então a condição não será mais verdadeira e o laço for terminará.

Exemplo 2: contagem regressiva, usando o laço for


public class for2{
    public static void main(String[] args) {
        for(int count=10 ; count >= 1; count--){
            System.out.println(count);
        }
    }
}

Esse exemplo serve para mostrar que podemos usar o decremento, não somente o incremento, dentro do laço for.

Como funciona:
A primeira coisa que acontece é a condição inicial. No nosso caso, é criado um inteiro, 'count' e inicializado com o valor 10.

Depois, a condição é testada. Como 'count' é maior ou igual a 1, é verdadeira e se imprime o valor de 'count', que é 10.
Após essa execução, 'count' se torna 9, e continua a ser maior ou igual a 1, e impressa...quando 'count' for 1, ela será impressa, por 1 é maior ou igual a 1.
Porém, ao ser decrementada, se tornará 0 e o laço for terminará.

Exemplo 3: contagem progressiva e regressiva no mesmo laço for

Outra característica do laço for, é que não precisamos usar só uma variável de controle ('count') ou  testar somente uma condição. O código Java para isso é:

public class for3 {
    public static void main(String[] args) {
        for(int sobe=1, desce=10 ; sobe<=10 && desce>=1; sobe++, desce--){
            System.out.printf("%d \t %d \n", sobe, desce);
        }
    }

}

Como funciona:

Declaramos duas variáveis, a 'sobe', que vai ser incrementada e impressa de 1 até 10,
e a variável 'desce' que será decrementada e impressa de 10 até 1.
Dentro do printf usamos o caractere '\t', que é o código ASCII para a tabulação, ou seja, o nosso famoso 'tab'.

Compile e rode esse simples código, verá como é maravilhoso ser programador Java e sua vida fará mais sentido.

Contribuir com o Java Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo