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
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » Java » Tudo sobre funções

Funções

Funçõ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 argumentos

Para 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 argumentos

Funçõ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){}
public static void funcao2 (int arg1, int arg2){}
public static void funcao3 (String arg1, char arg2, int arg3, float arg4, Object arg5) {}

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 valores

Aqui 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 (){}
public static double funcaoDeDouble (){}
public static String funcaoDeString (){}

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");
    }
}
Faça o Download deste Código

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.

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 107658 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog