Você está aqui: Java ::: Fundamentos da Linguagem ::: Estruturas de Controle

Java para iniciantes - Como usar o laço do-while da linguagem Java

Quantidade de visualizações: 51529 vezes
O laço do-while é uma variação do laço while. A diferença é que, no laço do-while a condição de continuidade é testada após a execução do bloco de códigos desejado. Isso nos faz crer que este laço é executado no mínimo uma vez. Veja sua sintáxe:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Se a condição testada for verdadeira, o laço continua sua execução. Do contrário a execução do programa segue a partir do ponto onde o laço se encontra. Veja um exemplo:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Use o laço do-while quando você tiver instruções dentro do laço que precisem ser executadas no mínimo uma vez.


Java ::: Tratamento de Erros ::: Passos Iniciais

Como usar try catch em Java - Aprenda a tratar erros em Java usando o bloco try...catch

Quantidade de visualizações: 37906 vezes
A forma mais comum de tratar e se recuperar de erros em uma aplicação Java é usando o bloco try...catch. Todo o código que apresenta a possibilidade de erros ou falhas é colocado em um bloco try. E o código a ser executado caso o erro ou falha aconteça é colocado em um bloco catch. Veja a sintáxe:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

A palavra-chave catch é seguida por uma declaração do tipo de exceção sendo lançada. É aqui que entram detalhes interessantes. Antes de tratar um erro, é preciso que você saiba qual erro estará tratando. Em Java temos três tipos de erros: runtime exceptions, checked exceptions e errors. Errors não precisam ser tratados com bloco try...catch, runtime exceptions (erros causados por códigos mal escritos ou mal testados) opcionalmente usam try...catch e checked exceptions (erros que fogem ao controle do programador) devem obrigatoriamente usar try...catch.

Vamos ver um exemplo do uso de try...catch:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Neste trecho de código nós tentamos ler o conteúdo de um arquivo. O que aconteceria se o arquivo não existisse? O programa entraria em colapso. Além disso, todas as operações de entrada e saída (IO) estão suscetíveis a falhas externas. Por esta razão, o compilador nos força a usar try...catch nestas situações.

Neste exemplo podemos ver que o bloco catch é seguido por uma definição da classe IOException. No entanto, este trecho de código pode também disparar a exceção FileNotFoundException. Olhando a documentação vemos que FileNotFoundException herda de IOException, que por sua vez herda de Exception. Isso nos mostra que, se não estivermos certos de qual exceção será lançada, podemos usar a superclasse Exception e usarmos o método getMessage() ou demais métodos para obter maiores informações sobre o erro.

Vamos ver mais um exemplo de try...catch. Desta vez veremos como evitar uma exceção StringIndexOutOfBoundsException:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Compile, execute este código e forneça um inteiro maior que 3 para ver o resultado.


Java ::: Lista de Exercícios Resolvidos (Algorítmos Resolvidos) ::: Estruturas de Controle

Exercícios Resolvidos de Java - Um programa que lê duas notas, calcula a média aritmética e exibe uma mensagem de reprovado, exame ou aprovado

Quantidade de visualizações: 1169 vezes
Pergunta/Tarefa:

Escreva um programa Java que leia duas notas (como double), calcule e mostre a média aritmética e uma mensagem de acordo com as seguintes regras:

1) Se a média for inferior a 4,0 escreva "Reprovado";
2) Se a média for igual ou superior a 4,0 e inferior a 7,0 escreva "Exame";
3) Se a média for igual ou superior a 7,0 escreva "Aprovado".

Sua saída deverá ser parecida com:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.
Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.



Java ::: Dicas & Truques ::: Matemática e Estatística

Como calcular juros compostos e montante usando a linguagem Java - Fórmula de juros compostos em Java - Revisado

Quantidade de visualizações: 15728 vezes
O regime de juros compostos é o mais comum no sistema financeiro e, portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte.

Chamamos de capitalização o momento em que os juros são incorporados ao principal. Assim, após três meses de capitalização, temos:

1º mês: M = P .(1 + i)
2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i)
3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i)

Simplificando, obtemos a fórmula:

M = P . (1 + i)^n

Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses.

Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período:

J = M - P

Vejamos um exemplo:

Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros?

Veja o código Java para a resolução:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Ao executarmos este código nós teremos o seguinte resultado:

O total de juros a ser pago é: 185.45400000000018
O montante a ser pago é: 2185.454

É claro que uma formatação para moeda deixaria os valores mais bonitos.

Uma outra aplicação interessante é mostrar mês a mês a evolução dos juros.

Veja o código a seguir:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Ao executarmos este código nós teremos o seguinte resultado:

Mês: 1 - Montante: 2060.0 - Juros: 60.0
Mês: 2 - Montante: 2121.7999999999997 - Juros: 61.79999999999973
Mês: 3 - Montante: 2185.454 - Juros: 63.65400000000045

Esta dica foi revisada e testada no Java 8.


Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como criar, preencher e exibir os valores de uma matriz de duas dimensões de inteiros em Java - Revisado

Quantidade de visualizações: 10214 vezes
Nesta dica mostrarei como declarar e instanciar uma matriz (array) de duas dimensões de ints em Java. Note que temos duas linhas e cada linha possui duas colunas. Neste exemplo os valores da matriz já estão pré-definidos, mas você pode ver mais dicas nessa seção para aprender como solicitar que o usuário informe os valores de cada linha de coluna.

Veja o código completo:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Ao executar este exemplo nós teremos o seguinte resultado:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.


Esta dica foi revisada e testada no Java 8.


Java ::: Coleções (Collections) ::: ArrayList

Java Collections para iniciantes - Arrays (vetores) ou a ArrayList? Qual devo usar?

Quantidade de visualizações: 15239 vezes
Uma das perguntas mais frequentes que os usuários do nosso site nos fazem é aquela sobre o uso de simples arrays (vetores e matrizes) ou objetos da classe ArrayList. Se o número de elementos for fixo ou você precisar de muita eficiência ao lidar com tipos primitivos, então arrays podem ser a melhor escolha.

Porém, muitos problemas envolvendo o armazenamento de dados requerem estruturas de dados que possam ser redimensionadas de acordo com a necessidade do algorítmo. Neste caso, uma ArrayList (ou qualquer uma das outras classes Collections) pode ser a escolha certa.

Veja um trecho de código para ficar mais fácil o entendimento:

Super Pack 10.000 Dicas e Truques de Programação e 500 Exercícios Resolvidos de Programação Este trecho de código ou resolução de exercício está disponível somente para apoiadores

Mas se você não puder nos apoiar agora, role a página e encontrará muito conteúdo gratuíto.

Ao executar este código nós teremos o seguinte resultado:

Primeiro elemento no vetor: 4

Como podemos ver neste exemplo, um array (nesse caso um vetor) possui um tamanho fixo, ou seja, o compilador não nos permite reduzir ou aumentar a quantidade de elementos em um vetor ou matriz criado a partir da notação de arrays. Assim, apesar de todas as facilidades que os arrays trazem consigo, este pode ser um empecilho para o tipo de aplicação que queremos desenvolver em um determinado momento.

A classe ArrayList, por outro lado, possui tamanho variado. Isso quer dizer que seu tamanho é aumentado ou reduzido de acordo com as necessidades do seu código.

Uma outra questão que diferencia arrays de ArrayList, é que não podemos armazenar tipos primitivos em um objeto da classe ArrayList. Se precisarmos fazer isso, o tipo primitivo deve ser colocado em uma classe encapsuladora, por exemplo, a classe Integer. Em algumas situações o compilador faz isso nos bastidores, e esta operação é chamada de auto-boxing.


Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Elétrica pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 15 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: C#
3º lugar: Delphi
4º lugar: PHP
5º lugar: Python
6º lugar: JavaScript
7º lugar: C
8º lugar: C++
9º lugar: VB.NET
10º lugar: JSP (Java Server Pages)



© 2021 Arquivo de Códigos - Todos os direitos reservados | Versión en Español | Versão em Português