Você está aqui: Java ::: Lista de Exercícios Resolvidos (Algorítmos Resolvidos) ::: Java Básico |
|||
Java Básico - Exercícios Resolvidos 34 - Um programa que lê três números e os classifica e exibe em ordem crescenteQuantidade de visualizações: 1978 vezes |
|||
Pergunta/Tarefa: Escreva um programa Java que pede ao usuário três números inteiros. Em seguida, ordene os três valores em ordem crescente e os exiba. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
|
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
||||||||||||||||||
Programação Orientada a Objetos em Java - Como usar o modificador final em classes, variáveis e métodosQuantidade de visualizações: 12025 vezes |
||||||||||||||||||
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:
Ao tentarmos compilar este programa teremos a seguinte mensagem de erro:
Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final. Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja:
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Um método marcado como final não pode ser sobrescrito. Veja um exemplo:
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos. | ||||||||||||||||||
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
||||||||||||
Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do JavaQuantidade de visualizações: 13990 vezes |
||||||||||||
A exceção ClassCastException é um erro de tempo de execução que ocorre quando tentamos fazer um cast (coerção - conversão explícita) de uma classe para outra classe diferente desta ou que não seja uma superclasse desta. Em outras palavras, casts válidos para classes e interfaces devem seguir as regras abaixo: 1) Se NovoTipo é uma classe, a classe da expressão sendo convertida deve ser do tipo NovoTipo ou herdar de NovoTipo. 2) Se NovoTipo é uma interface, a classe da expressão sendo convertida deve implementar NovoTipo. Considere o código a seguir:
Este código compila normalmente. Porém, ao ser executado, a seguinte mensagem de erro é exibida:
Esta mensagem nos informa que a classe Integer não pode sofrer um cast para String, uma vez que Integer não é e nem herda de String. Veja agora a nova versão:
Veja que agora nós estamos fazendo o cast de uma referência Object para Integer. Embora Object não seja e nem herde de Integer, o sistema de tempo de execução sabe que x guarda atualmente uma referência a um Integer:
| ||||||||||||
Java ::: Dicas & Truques ::: Strings e Caracteres |
|||
Exemplos Java Strings - Como remover um caractere de uma string usando o método deleteCharAt() da classe StringBuffer do JavaQuantidade de visualizações: 14364 vezes |
|||
Neste exemplo mostrarei como podemos usar o método deleteCharAt() da classe StringBuffer para remover um determinado caractere de uma palavra, frase ou texto. Observe que a string original é modificada após uma chamada a este método. Veja o código completo para o exemplo:
Ao executar este código Java nós teremos o seguinte resultado: Original: Java Depois da remoção: Jva | |||
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
||||||
Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaDataQuantidade de visualizações: 4690 vezes |
||||||
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro). A assinatura do método getTableTypes() é:
Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0:
O resultado da execução deste código foi: TABLE VIEW LOCAL TEMPORARY | ||||||
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
|||
Programação Orientada a Objetos em Java - Como usar encapsulamento (encapsulation) em JavaQuantidade de visualizações: 36480 vezes |
|||
Encapsulamento é a técnica de transformar os objetos que compõem uma aplicação em verdadeiras caixas-pretas. De fato, se pensarmos em termos de informática, é possível para um usuário comum usar todas as funcionalidades de uma impressora sem nem mesmo entender seu funcionamento interno. Imagine o desastre que seria se todos os usuários resolvessem abrir suas impressoras para investigar o que há dentro delas. Da mesma forma, ao construir uma classe, devemos fazê-lo de forma que o usuário desta classe tenha acesso apenas aos métodos que permitem ler informações da classe ou fornecer os dados necessários para sua correta operação. Dados relativos ao funcionamento interno da classe devem permanecer ocultos e acessíveis somente aos métodos da própria classe. O encapsulamento deve ser aplicado de forma a permitir que alterações na estrutura interna de uma classe não prejudique o funcionamento do código externo que a usa. Veja um exemplo:
A classe Pedido contém um método chamado obterProdutos() que retorna uma lista de produtos pertencentes a um determinado pedido. É aqui que o encapsulamento se torna importante. O código que usa esta classe desconhece completamente como esta lista de produtos é montada. Tudo que nos interessa é a lista de produtos que o método retorna. O programador da classe pode decidir a qualquer momento, talvez para melhorar o desempenho da classe, alterar a forma de montagem da lista. Uma vez que o nome e retorno do método (incluindo a estrutura da lista retornada) continuem sendo os mesmos, o código que usa a classe continuará funcionando como anteriormente. | |||
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
PHP - Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHP Delphi - Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr() |
Quem Somos |
![]() Osmar J. Silva
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.
Programador Freelancer WhatsApp +55 (062) 98553-6711 Goiânia-GO 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 - 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)
Programador Freelancer WhatsApp +55 (062) 98243-1195 Goiânia-GO 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 |