Algoritmos e Programação
Prof.º Thyago Maia2014.1
Objetivos
Aula 18
• Introduzir o conceito de Métodos• Fazer com que o aluno crie seus
próprios métodos;
2
Problematização
public class principal {
public static void main(String args[]) {
System.out.println(“Thyago”); }
}
Problematização
public class principal {
public static void main(String args[]) {
System.out.println(“Thyago”); }
public static void escreva() {
System.out.println(“Thyago”);
}
}
Problematização
public class principal {
public static void main(String args[]) {
escreva(); }
public static void escreva() {
System.out.println(“Thyago”);
}
}
Problematização
public class principal {
public static void main(String args[]) {
System.out.println(“Thyago”); }
}
Problematização
public class principal {
public static void main(String args[]) {
System.out.println(“Thyago”); }
}
public class secundaria {
public static void escreva() {
System.out.println(“Thyago”); }
}
Problematização
public class principal {
public static void main(String args[]) {
secundaria.escreva(); }
}
public class secundaria {
public static void escreva() {
System.out.println(“Thyago”); }
}
Problematização
public class principal {
public static void main(String args[]) {
secundaria.escreva(); }
}
public class secundaria {
public static void escreva() {
System.out.println(“Thyago”); }
}
Métodos
Métodos
• Definem ações a serem tomadas na execução de um programa;
• São conjuntos ordenados de declarações de dados, instruções e expressões;
• Tratam-se de blocos nomeados de código, que exercem uma função específica (Ex.: soma, imprime, calcula...);
• São definidos em classes;
Métodos
• Vantagens do uso dos Métodos:– Reduzem o tamanho do código-fonte de
programas;– Facilitam a visualização e compreensão de
programas;– Pensa-se na solução do problema por partes;– É mais fácil corrigir e detectar erros;– Se é preciso alterar, altera-se apenas uma vez;– Um mesmo métodos poderá ser utilizado em
várias classes;
Métodos
• Podemos classificar os métodos da seguinte maneira:
–Métodos que não retornam valor;–Métodos que retornam valor;–Métodos sem parâmetros;–Métodos com parâmetro(s);
Métodos
• Sintaxe – Métodos sem retorno e parâmetros:
• A palavra reservada void indica que o método nome_metodo não retorna valores;
• O conjunto de parênteses sem conteúdo indicam que o método não possui parâmetros;
public static void nome_metodo(){
// Lista de instruções}
Exemplo
• Faça um programa que lê 2 notas de um determinado aluno e calcule sua média;
// Classe sem método
import java.util.Scanner;
public class tarefa {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in); double nota1, nota2; System.out.println("Digite a primeira nota: "); nota1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); nota2 = entrada.nextDouble(); System.out.println("Média: " + ((nota1+nota2)/2));
}}
// Classe com métodoimport java.util.Scanner;
public class tarefa {
public static void main(String[] args) { calcula_media();
}
public static void calcula_media(){
Scanner entrada = new Scanner(System.in);double nota1, nota2;
System.out.println("Digite a primeira nota: "); nota1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); nota2 = entrada.nextDouble(); System.out.println("Média: " + ((nota1+nota2)/2));
}}
Métodos
• Sintaxe – Métodos sem retorno e com parâmetros:
• A palavra reservada void indica que o método nome_metodo não retorna valores;
• As variáveis e objetos (e seus tipos) delimitados entre parênteses são os parâmetros;
public static void nome_metodo(tipo nome_parametro){
// Lista de instruções}
// Exemplo anterior – Método com passagem de parâmetroimport java.util.Scanner;
public class tarefa {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);double nota1, nota2;
System.out.println("Digite a primeira nota: "); nota1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); nota2 = entrada.nextDouble(); calcula_media(nota1, nota2);
}
public static void calcula_media(double n1, double n2){
System.out.println("Média: " + (n1+n2)/2);}
}
Métodos
• Sintaxe – Métodos com retorno:
• Em tipo , indicamos o tipo de dado a ser retornado pelo método (Ex.: int, double, float, etc.);
• Utilizamos a palavra reservada return para efetivamente retornar um valor;
public static tipo nome_metodo(){
// Lista de instruçõesreturn valor;
}
// Exemplo anterior - Método com retorno e parâmetrosimport java.util.Scanner;
public class tarefa {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);double n1, n2, media;
System.out.println("Digite a primeira nota: "); n1 = entrada.nextDouble(); System.out.println("Digite a segunda nota: "); n2 = entrada.nextDouble(); media = calcula_media(n1, n2);
System.out.println(“Média: “ + media); }
public static double calcula_media(double nota1, double nota2)
{ return (nota1+nota2)/2;
}}
Exercícios
Exercício
• Faça um programa que lê os lados de um retângulo e calcula o seu perímetro em um método;
– Perímetro do retângulo = (2*largura) + (2*comprimento)