Lista de Exercícios Curso de Java Básico Entrega para o dia 13/07 1. Instalação do ambiente Entre em http://java.sun.com/javase/downloads/index.jsp e baixe o JDK 5.0. Apesar de usar o JDK 5.0 ele é totalmente compatível com os exercícios que estamos passando para o curso (que são para jdk 1.4.2). Instale o java na sua máquina. 2. Hello World Como de costume para o aprendizado de uma linguagem vamos escrever um programa que dá Olá ao mundo. Escreva um programa que escreve “Olá mundo” na saída padrão. dicas: System.out retorna objeto que representa a saída padrão 2. Métodos “Uma classe não é nada sem métodos!” essa afirmação é meio verdade, mas no caso deste exercícios é importante. Escreva um programa que tenha um método que recebe dois inteiros e retorne o valor da soma deles: public int somaDois(int a, int b) 3. Has-a Um conceito de programação orientada a objetos é a agregação (has-a), que significa que um objeto tem um outro objeto. Por exemplo objeto Pessoa tem um objeto Carro. Crie uma classe que tenha um objeto br.curso.java.HelloJanela (class anexa) e que chame o método callHello(String s) com a mensagem “Olá Mundo”. dica: lembre-se que a classe HelloJanela deve estar no diretorio br/curso/java/ verifique seu classpath corretamente. 4. Is-a Herança (Is-a) é um conceito importante em orientação a objetos. Por exemplo o objeto Cachorro é um Mamífero, se dizemos isso podemos tratar um cachorro como tratamos qualquer Mamífero. Então a partir da interface Mamífero (anexa e com os métodos descritos abaixo) implemente a classe Gato. dica: pense no uso de extends public class Mamifero { public String mama(){ return “mmm”; } } 5. Tipo e instância Podemos tipar um objeto como mamífero e instanciá-lo como cão ou gato. Ave public String pia() Uirapuru BemTeVi public String pia() public String pia() A partir do diagrama uml de classes, e assumindo que o metodo pia da classe ave retorna “piu”, do Uirapuru retorna “uirapuru” e do BemTeVi retorna “bem-te-viii” assinale as verdadeiras a. Ave passaro = new Ave(); passaro.pia(); retorna “piu” b. Uirapuru passaro = new Uirapuru(); passaro.pia(); retorna “uirapuru” c. BemTeVi passaro = new BemTeVi(); passaro.pia(); retorna “piu” d. Ave passaro = new BemTeVi(); passaro.pia(); retorna “piu” e. Ave passaro = new Uirapuru(); passaro.pia(); retorna “uirapuru” f. Uirapuru passaro = new BemTeVi(); passaro.pia(); retorna “piu” dica: dentre as alternativas pode haver problemas na compilação. 6. Encapsulamento Analise a classe abaixo e diga qual será o resultado da chamada possuiMoedas(). Diga se qual o problema da implementação e como pode ser resolvido. public class Bolso{ public int moedas = 0; public boolean tenhoMoedas = false; public void setaMoedas(int qtd){ if(qtd>0) tenhoMoedas=true; else tenhoMoedas=false; moedas=qtd; } public boolean possuiMoedas(){ return tenhoMoedas; } public static void main(String[] args) { Bolso b = new Bolso(); b.setaMoedas(32); b.moedas=0; b.possuiMoedas();//Qual o resultado aqui? } }