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");
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("Fatorial de "+ a + "="+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("A area de um quadrado ...." + area(3));
System.out.println("A area de um retangulo ..." + area(3,2));
System.out.println("A area de um cubo ........" + 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("Teste do uso do metodo limpaTela da Classe Exemplo1");
}
}
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("Teste do uso do metodo limpaTela da Classe Exemplo1");
}
}
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.
0 comments
Post a comment