Exercício 1: ArrayList de Strings com foreach
import java.util.ArrayList;
public class Exercicio1 {
public static void main(String[] args) {
// Crie um ArrayList de strings
ArrayList<String> frutas = new ArrayList<>();
// Adicione elementos à lista
frutas.add("Maçã");
frutas.add("Banana");
frutas.add("Laranja");
frutas.add("Morango");
frutas.add("Uva");
System.out.println("--- Elementos da lista de frutas ---");
// Utilize um loop foreach para percorrer e imprimir cada elemento
for (String fruta : frutas) {
System.out.println(fruta);
}
}
}
Exercício 2: Casting de Objeto (Animal e Cachorro) // Animal.java class Animal { public void fazerBarulho() { System.out.println("Animal fazendo barulho..."); } }
// Cachorro.java class Cachorro extends Animal { @Override public void fazerBarulho() { System.out.println("Au au!"); }
public void latir() {
System.out.println("Latindo...");
}
}
// Exercicio2.java
public class Exercicio2 {
public static void main(String[] args) {
// Crie um objeto da classe Cachorro
Cachorro meuCachorro = new Cachorro();
meuCachorro.latir(); // Método específico de Cachorro
meuCachorro.fazerBarulho(); // Método sobrescrito de Animal
// Faça o casting para a classe Animal
Animal meuAnimal = meuCachorro; // Upcasting implícito (seguro)
System.out.println("\n--- Após o casting para Animal ---");
meuAnimal.fazerBarulho(); // Chama o método de Cachorro devido ao polimorfismo
// meuAnimal.latir(); // Isso daria erro de compilação, pois meuAnimal é do tipo Animal
// e o método latir() não existe na classe Animal.
}
}
Exercício 3: instanceof e Casting Seguro
// Exercicio3.java
public class Exercicio3 {
public static void main(String[] args) {
Animal algumAnimal = new Cachorro(); // Um Cachorro referenciado como Animal
Animal outroAnimal = new Animal(); // Um Animal puro
System.out.println("--- Verificando e fazendo casting ---");
// Verificando o primeiro objeto
if (algumAnimal instanceof Cachorro) {
System.out.println("algumAnimal é um Cachorro!");
Cachorro meuCachorro = (Cachorro) algumAnimal; // Casting seguro
meuCachorro.latir(); // Agora podemos chamar métodos específicos de Cachorro
} else {
System.out.println("algumAnimal não é um Cachorro.");
}
System.out.println("\n--- Verificando o segundo objeto ---");
// Verificando o segundo objeto
if (outroAnimal instanceof Cachorro) {
System.out.println("outroAnimal é um Cachorro!");
Cachorro meuCachorro2 = (Cachorro) outroAnimal; // Isso não será executado
meuCachorro2.latir();
} else {
System.out.println("outroAnimal não é um Cachorro.");
}
}
}
Exercício 4: Lista de Produtos e Preço Médio
import java.util.ArrayList;
// Produto.java
class Produto {
private String nome;
private double preco;
public Produto(String nome, double preco) {
this.nome = nome;
this.preco = preco;
}
public String getNome() {
return nome;
}
public double getPreco() {
return preco;
}
}
// Exercicio4.java
public class Exercicio4 {
public static void main(String[] args) {
// Crie uma lista de produtos
ArrayList<Produto> produtos = new ArrayList<>();
// Adicione produtos à lista
produtos.add(new Produto("Caneta", 1.50));
produtos.add(new Produto("Caderno", 12.00));
produtos.add(new Produto("Lápis", 0.75));
produtos.add(new Produto("Mochila", 85.50));
produtos.add(new Produto("Borracha", 1.20));
double somaPrecos = 0;
System.out.println("--- Lista de Produtos ---");
// Utilize um loop para calcular a soma dos preços
for (Produto produto : produtos) {
System.out.println("Produto: " + produto.getNome() + ", Preço: R$" + String.format("%.2f", produto.getPreco()));
somaPrecos += produto.getPreco();
}
// Calcule o preço médio
double precoMedio = 0;
if (!produtos.isEmpty()) { // Evita divisão por zero se a lista estiver vazia
precoMedio = somaPrecos / produtos.size();
}
System.out.println("\n--- Resumo ---");
System.out.println("Total de produtos: " + produtos.size());
System.out.println("Soma total dos preços: R$" + String.format("%.2f", somaPrecos));
System.out.println("Preço médio dos produtos: R$" + String.format("%.2f", precoMedio));
}
}