Programação
› Algoritmo › C/C++ › Java
Web
› HTML/XHTML › JavaScript › PHP
Sistema Operacional
› Comandos de DOS › Windows › Linux › Mac/BSD
Office
› Word / Writer › Excel / Calc
Áreas do Site
› Download › Fórum › Blog
|
FunçõesFunções são rotinas ou sub-rotinas automatizadas. Sempre que pretendemos usar a mesma codificação para algo específico, criamos uma função. Dessa forma, sempre que quisermos utilizar aquela codificação, ao invés de nós a digitarmos inteira novamente, simplesmente chamamos a função. Funções são extremamente úteis e adaptáveis, e o conceito de funções é importante para mais a frente entendermos o funcionamento e criação dos métodos. Criando funções sem argumentosPara criar uma função, temos que ter sempre em mente que toda função é global, ou seja, é estática (static). As funções mais básicas são aquelas que apenas executam uma rotina, portanto, não recebem nenhum argumento. No código, digitaríamos dentro da classe, mas fora da função main o seguinte: public static void nomeDaFunção () { código da função } Static porque pode ser acessado globalmente; void porque não retorna nenhum valor; mesmo não tendo argumentos, é necessário ter parênteses. Vamos ver o exemplo: public class ExemploFuncao {
//criando a função
public static void mostrarMensagem() {
System.out.println("Minha Mensagem");
}
public static void main(String[] args) {
//chamando a função dentro do programa
mostrarMensagem();
}
}
O código acima funciona da seguinte maneira: Primeiro é criada a função mostrarMensagem(), que em seu corpo tem apenas um println com uma mensagem. Depois iniciamos nosso programa com o main. Dentro do main chamamos a função. Para isso, basta colocar o nome da função. Quando a função é chamada, o código dentro do corpo da função é executado. Concluindo, o programa acima apenas mostra na tela a mensagem Minha Mensagem. Funções com argumentosFunções com argumentos funcionam e são criadas da mesma forma que uma função sem argumento, porém com uma diferença. A diferença está que haverá informações necessárias para que a função processe, e essas informações serão descritas dentro dos parênteses. Uma função pode ter um ou vários argumentos desde que separados por vírgula (,). Cada argumento deve ter seu tipo de dado declarado. Então, todos os exemplos abaixo são funções válidas: public static void funcao1 (String arg1){} Para demonstrar este tipo de função criaremos uma função que mostra na tela o resultado fatorial de um número. Além disso, colocaremos esta função dentro de um loop que irá de 1 a 10 para ele mostrar cada um desses fatoriais. public class FatorialComFuncao {
public static void fatorar(int numero) {
int fator = 1;
for (int i = numero; i > 1; i--) {
fator *= i;
}
System.out.println(numero + "! = " + fator);
}
public static void main(String args[]) {
for (int x=1; x<=10; x++)
fatorar (x);
}
}
Simplificando, x que está sendo passado pelo main para fatorar() será o valor int numero da função fatorar. Funções que retornam valoresAqui veremos a grande vantagem de se criar uma função. Funções podem retornar valores de um processo executado dentro delas e esse valor pode ser guardado dentro de uma variável no programa. Isso com certeza deixa nosso código mais simples, pois podemos destacar processos repetitivos e guardar em uma variável apenas o resultado daquele processo. Para criar uma função que retorna valores temos que nos ater ao fato retorno. Como todas as outras funções não retornavam valores, então, seu retorno era vazio - void. Agora, temos que declarar que tipo de retorno virá da função. O retorno é dado pelo comando return, que finaliza a função e mostra o retorno. A variável ou valor que utilizarmos para return será o tipo de retorno da função. Vamos imaginar que três funções, sendo que a primeira irá retornar um inteiro, a segunda um double e a terceira uma string. Então, as criaríamos da seguinte maneira: public static int funcaoDeInteiro (){} No exemplo abaixo, nós criaremos uma função que irá retornar um valor booleano (verdadeiro ou falso). Usando este retorno, determinaremos o que fazer dentro de uma estrutura seletiva (if). public class Primo {
public static boolean ehPrimo(long nr) {
if (nr < 2)
return false;
for (long i = 2; i <= (nr / 2); i++) {
if (nr % i == 0)
return false;
}
return true;
}
public static void main(String[] args) {
long x = 5;
if (ehPrimo(x)) // se for primo
System.out.println(x + " é primo");
else // se não for primo
System.out.println(x + " não é primo");
}
}
O algoritmo utilizado acima é muito solicitado em cursos de programação e faculdades. O que a função faz é verificar se um número é primo ou não.
Páginas Relacionadas |
Enquete
|