Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Return 0 ou -1?

Já vi algumas pessoas na internet que em alguns casos de métodos ou funcionalidades que pra retornar um valor vazio ou retornar "nada" colocam return 0 ou return -1. Gostaria de saber qual a diferença entre os dois casos.

4 respostas

Bom dia, Gabriel, não tenho muita experiencia ainda, mais depende muito do método, se você tem um metodo que retorna um void, vazio não tem a necessidade de você dar um return 0 ou -1.

Isso vai depender muito da implementação do que está escrevendo. mais a questão é que esses tipos de retorno não são convenção.

Espero ter ajudado,

Grande Abraço.

Olá Gabriel, tudo bem?

Geralmente, nós programadores, inserimos um return "diferente de tudo", quando queremos que um retorno seja diferente.

Por exemplo, vamos pensar, no contexto de STRINGS, que retornamos o nome de um usuário.

Colocamos um "return -1, ou return 0", pois, pode acontecer, de nenhuma das nossas lógicas serem executadas, então, caso caia no "-1", significa que alguma coisa deu errado!

Abraços!

solução

Fala Gabriel.

No Java quando retornamos o valor de uma função precisamos levar em consideração o tipo do retorno, ou seja, se é um objeto, uma string, um boolean ou como no caso que você citou, um inteiro.

Por exemplo:

public int numero(){
    return 0;
}

Existem também aqueles métodos do tipo void onde nenhum valor será retornado.

public void soUmMetodo(){

}

Mas nos métodos do tipo void você pode usar o return sem problemas.

public void soUmMetodo(){
    return;
}

Nesse caso ele retorna "nada". Talvez você se pergunte pra que serve isso. Existem casos que dependendo de uma condição, você vai precisar parar a execução do método do tipo void. Uma opção para fazer isso é usar o return.

class Teste {

    public static void main(String[] args){
        int valor = 1;
        soUmMetodo(valor);
    }

    public static void soUmMetodo(int valor){
        if(valor==1){
            return; //Retorna nada
        }
        System.out.println("Qual o valor? "+valor);
    }
}

Bons estudos!

Obrigado pela ajuda pessoal!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software