Java5
Upcoming SlideShare
Loading in...5
×
 

Java5

on

  • 4,342 views

 

Statistics

Views

Total Views
4,342
Views on SlideShare
4,321
Embed Views
21

Actions

Likes
0
Downloads
231
Comments
0

2 Embeds 21

http://www.slideshare.net 20
http://webcache.googleusercontent.com 1

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Java5 Java5 Presentation Transcript

  • Linguagens e Técnicas de Programação - JAVA José Marcos Barbosa da Silveira [email_address]
  • Criação de Métodos em JAVA
    • Objetivos deste capítulo
    • Identificar os principais tipos de métodos usados em Java;
    • Levar o aluno a compreender as vantagens de uso dos métodos;
    • Introduzir o conceito de modularidade a partir da criação de métodos;
    • Fornecer subsídios para que o aluno possa criar seus próprios métodos;
    • Descrever os mecanismos necessários para a troca de dados entre os métodos.
  • Criação de Métodos em JAVA
    • Até agora, em todos os exemplos, sempre foi declarado apenas o método main(). Este capítulo demostrará os principais tipos de métodos em Java.
    • Métodos são trechos de programas que recebem um determinado nome e podem ser chamados várias vezes durante a execução de um programa.
    • Métodos que não retornam argumentos
    • Sintaxe :
    • qualificadores tipo-do-retorno nome-do-método() em que:
    • Qualificador - public e static;
    • Tipo-de-retorno - refere-se ao tipo de dado retornado pelo método.
    • Nome-do-método - pode ser qualquer palavra, desde que iniciada com uma letra. Como convenção o nome de um método deve sempre começar com letra minúscula, se o nome for composto, a primeira letra da palavra composta deverá ser maiúscula.
    • Ex : imprime, imprimeFrase, graveArquivotexto, etc.
  • Criação de Métodos em JAVA (cont.)
    • Exemplo:
    • class Exemplo1{
    • public static void main(String args[]){
    • limpaTela();
    • imprime();
    • }
    • public static void imprime(){
    • System.out.println("Aprendendo metodos em Java");
    • }
    • public static void limpaTela(){
    • for(int i=1;i<=25;i++)
    • System.out.println();
    • }
    • }
  • Criação de Métodos em JAVA (cont.)
    • Métodos que recebem argumentos
    • Sintaxe:
    • qualificadores tipo-do-retorno nome-do-método (tipo variável)
    • Exemplo:
    • class Exemplo2{
    • public static void main(String args[]){
    • limpaTela();
    • String frase1=&quot;Sou Feliz &quot;;
    • String frase2=&quot;porque Deus me ama!&quot;;
    • tela(frase1);
    • tela(frase2);
    • }
    • public static void tela(String s){
    • System.out.println(s);
    • }
    • public static void limpaTela(){
    • for(int i=1;i<=25;i++)
    • System.out.println();
    • }
    • }
  • Criação de Métodos em JAVA (cont.)
    • Métodos que retornam argumentos
    • Sintaxe :
    • qualificadores tipo-do-retorno nome-do-método (tipo variável)
    • Exemplo :
    • class Exemplo3{
    • public static void main(String args[]){
    • int a=10,b=20,s;
    • s=soma(a,b);
    • System.out.println(&quot;A + B= &quot;+s);
    • }
    • public static int soma(int a, int b){
    • return(a+b);
    • }
    • }
  • Criação de Métodos em JAVA (cont.)
    • Recursividade
    • Os programas são estruturados com métodos que chamam uns aos outros, o que facilita a resolução de muitos problemas, além de reduzir consideravelmente o tamanho do código. A recursividade ocorre quando um método chama a si próprio.
    • Exemplo:
    • class Exemplo4{
    • public static void main(String args[]){
    • long a=5,fat;
    • fat=fatorial(a);
    • System.out.println(&quot;Fatorial de &quot;+ a + &quot;=&quot;+fat);
    • }
    • public static long fatorial(long n){
    • if(n<=1)
    • return 1;
    • else
    • return(n*fatorial(n-1));
    • }
    • }
  • Criação de Métodos em JAVA (cont.)
    • Sobrecarga
    • A linguagem Java permite que vários métodos sejam definidos com o mesmo nome, desde que eles tenham um conjunto de parâmetros diferentes em número ou em tipo.
    • class Exemplo5{
    • public static void main(String args[]){
    • System.out.println(&quot;A area de um quadrado ....&quot; + area(3));
    • System.out.println(&quot;A area de um retangulo ...&quot; + area(3,2));
    • System.out.println(&quot;A area de um cubo ........&quot; + area(3,2,5));
    • }
    • public static double area(int x){
    • return x*x;
    • }
    • public static double area(int x, int y){
    • return x*y;
    • }
    • public static double area(int x,int y,int z){
    • return x*y*z;
    • }
    • }
  • Criação de Métodos em JAVA (cont.)
    • Acesso a métodos de outras classes
    • Até este ponto só foi demostrado acesso a métodos da própria classe, com exceção dos métodos internos da própria linguagem Java.
    • Qualquer método criado em uma classe pode ser utilizado em outra classe através da seguinte sintaxe:
    • <nome da classe>.<nome do método>
    • Observação : Para que a invocação de um método de outra classe seja possível, é necessário que a classe utilizada esteja no mesmo diretório da classe que contém o método, mais a configuração do classpath , como vimos no início do curso.
    • Exemplo:
    • class Exemplo6{
    • public static void main(String args[]){
    • Exemplo1.limpaTela();
    • System.out.println(&quot;Teste do uso do metodo limpaTela da Classe Exemplo1&quot;);
    • }
    • }
  • Criação de Métodos em JAVA (cont.)
    • Acesso a métodos de outras classes
    • Até este ponto só foi demostrado acesso a métodos da própria classe, com exceção dos métodos internos da própria linguagem Java.
    • Qualquer método criado em uma classe pode ser utilizado em outra classe através da seguinte sintaxe:
    • <nome da classe>.<nome do método>
    • Observação : Para que a invocação de um método de outra classe seja possível, é necessário que a classe utilizada esteja no mesmo diretório da classe que contém o método, mais a configuração do classpath , como vimos no início do curso.
    • Exemplo:
    • class Exemplo6{
    • public static void main(String args[]){
    • Exemplo1.limpaTela();
    • System.out.println(&quot;Teste do uso do metodo limpaTela da Classe Exemplo1&quot;);
    • }
    • }
  • Exercícios
    • 1) Crie um aplicativo que receba o raio de uma esfera (do tipo double) e chame o método volumeEsfera para calcular e exibir o volume da esfera na tela. Para o cálculo do volume deve ser usada a fórmula seguinte: volume=(4.0/3.0)*PI*raio³.
    • 2) Crie um aplicativo que receba uma temperatura qualquer em Fahrenheit e apresente seu correspondente em Celsius por meio de um método. Para o cálculo utilize a seguinte fórmula: celsius=5.0/9.0 *(f-32).
    • 3) Crie um método chamado aleatório que sorteie uma determinada quantidade de números de acordo comum argumento. O usuário deve informar a quantidade de números a ser gerado e a faixa de números válidos para sorteio, por exemplo: se o usuário informar os argumentos 4 e 100 (aleatorio(4,100), devem ser gerados quatro números aleatórios entre 1 e 100.
    • 4) Escreva uma função para imprimir na tela 22 caracteres *. Escreva o método main() para testar a função de forma a apresentar como resultado a seguinte saída, na tela: **********************
    • * FELIZ ANIVERSARIO*
    • **********************
    • 5) Escreva uma função para calcular a área de um retângulo. Escreva o método main() para testar a função.
    • 6) Escreva uma função para calcular o fatorial de um número. Escreva o método main() para testar a função.
    • 7)Escreva uma função para calcular o quadrado de um número. Escreva o método main() para testar a função.
  • Exercícios (cont.)
    • 8) Escreva uma função que receba como parâmetro o preço atual de uma mercadoria e calcule o novo preço da mercadoria com reajuste de 20%. Escreva o método main() para testar a função, imprimindo o preço da mercadoria depois do aumento, bem como o percentual aplicado.
    • 9) Escreva uma função que receba como argumento o ano e retorne 1 se for um ano bissexto e 0 se não for um ano bissexto. Um ano é bissexto se for divisível por 4, mas não por 100. Um ano também é bissexto se for divisível por 400.
    • 10) Escreva um programa que solicite ao usuário um ano e imprima o calendário desse ano. Utilize o método abaixo para calcular o dia da semana:
    • public static int diaSemana(int dia,int mes,int ano){
    • int f;
    • f=ano+dia+3*(mes-1)-1;
    • if(mes<3)ano--;
    • else f-=(int)(0.4f*mes+2.3f);
    • f+=(int)(ano/4)-(int)((ano/100+1)*0.75f);
    • f%=7;
    • return(f);
    • }
    • Obs : Esta função retornará um número de 0 a 6, onde o zero corresponde ao domingo, o 1 a segunda-feira e assim sucessivamente.
  • Exercícios (cont.)
    • 11) Escreva uma função que desenhe um retângulo de 5 linhas por 20 colunas usando os caracteres ‘+’ , ‘-’ e ‘|’. O número de linhas, o de colunas e os caracteres do desenho são argumentos “default” da função. Quando a função é chamada sem nenhum argumento, desenha o seguinte retângulo:
    • +--------------------------------+
    • | |
    • | |
    • | |
    • +--------------------------------+
    • 12)Escreva um programa contendo uma função sobrecarregada chamada Divide(). Se esta função for chamada com dois argumentos float, ela deve retornar o resultado da divisão de um argumento pelo outro. Se a função Divide() for chamada com um único argumento float, deve retornar o resultado da divisão deste argumento por 10.
    • 13) Escreva uma função recursiva de nome soma() que receba um número inteiro positivo n como argumento e retorne a soma dos n primeiros números inteiros. Por exemplo, se a função receber n=5, deve retornar 15, pois 15=1+2+3+4+5.
  • Bibliografia
      • FURGERI, Sérgio. Java 2: Ensino didático: Desenvolvendo e Implementando Aplicações –
      • São Paulo: Érica, 372p. 2002.
      • TAMASSIA, R.; GOODRICH, M.T. Estrutura de Dados e Algoritmos em Java. Bookman, 2002.
      • DEITEL,H.M.; DEITEL, P.J. Java: Como Programar , Bookman, 2002.