devolver palabra clave en Java

En Java, return es una palabra clave reservada, es decir, no podemos usarla como identificador. Se utiliza para salir de un método, con o sin valor. Uso de la palabra clave de retorno , ya que existen dos formas que se enumeran a continuación: 

  • Caso 1: métodos que devuelven un valor
  • Caso 2: métodos que no devuelven un valor

Ilustremos implementándolos directamente de la siguiente manera:

Caso 1: métodos que devuelven un valor

Para los métodos que definen un tipo de devolución, la declaración de devolución debe ir seguida inmediatamente por el valor de devolución. 

Ejemplo:

Java

// Java Program to Illustrate Usage of return Keyword
 
// Main method
class GFG {
 
    // Method 1
    // Since return type of RR method is double
    // so this method should return double value
    double RR(double a, double b) {
        double sum = 0;
        sum = (a + b) / 2.0;
       
        // Return statement as we already above have declared
        // return type to be double
        return sum;
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Print statement
        System.out.println(new GFG().RR(5.5, 6.5));
    }
}
Producción

6.0

Complejidad de tiempo: O(1)

Espacio Auxiliar : O(1)

Explicación de la salida: cuando estamos llamando a un método de clase GFG que tiene una suma de retorno que devuelve el valor de la suma y ese valor se muestra en la consola. 

Caso 2: métodos que no devuelven un valor

Para los métodos que no devuelven un valor, se puede omitir la declaración de devolución en Java. Aquí surgen dos casos en los que el usuario no ha devuelto ningún valor, como se detalla a continuación:

  • #1: Método que no usa declaración de retorno en la función nula
  • #2: Métodos con tipo de retorno nulo 

#1: Método que no usa declaración de retorno en la función nula

Ejemplo

Java

// Java program to illustrate no return
// keyword needed inside void method
 
// Main class
class GFG {
 
    // Since return type of RR method is
    // void so this method shouldn't return any value
    void demoSum(int a, int b)
    {
        int sum = 0;
        sum = (a + b) / 10;
        System.out.println(sum);
 
        // No return statement in this method
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Calling the method
        // Over custom inputs
        new GFG().demoSum(5, 5);
 
        // Display message on the console for successful
        // execution of the program
        System.out.print(
            "No return keyword is used and program executed successfully");
    }
 
    // Note here we are not returning anything
    // as the return type is void
}
Producción

1
No return keyword is used and program executed successfully

Nota: No se requiere declaración de devolución ( pero se puede usar ) para métodos con tipo de devolución void. Podemos usar «retorno»; lo que significa no devolver nada

#2: Métodos con tipo de retorno nulo

Ejemplo 1-A:

Java

// Java program to illustrate usage of
// return keyword in void method
 
// Class 1
// Main class
class GFG {
 
    // Method 1
    // Since return type of RR method is
    // void so this method should not return any value
    void demofunction(double j)
    {
        if (j < 9)
 
            // return statement below(only using
            // return statement and not returning
            // anything):
            // control exits the method if this
            // condition(i.e, j<9) is true.
            return;
        ++j;
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        // Calling above method declared in above class
        new GFG().demofunction(5.5);
 
        // Display message on console to illustrate
        // successful execution of program
        System.out.println("Program executed successfully");
    }
}
Producción

Program executed successfully

Explicación de salida: si la declaración if(j<9) es verdadera, entonces el control sale del método y no ejecuta el resto de la declaración del método RR y, por lo tanto, regresa nuevamente al método main() .

Ahora, geek, debe preguntarse qué pasa si usamos la declaración de devolución al final del programa.

La declaración de retorno se puede usar en varios lugares del método, pero debemos asegurarnos de que debe ser la última declaración que se ejecute en un método.

Nota : la declaración de devolución no necesita ser la última declaración en un método, pero debe ser la última declaración para ejecutar en un método. 

Ejemplo 1-B:

Java

// Java program to illustrate return must not be always
// last statement, but must be last statement
// in a method to execute
 
// Main class
class GFG {
 
    // Method 1
    // Helper method
    // Since return type of RR method is void
    // so this method should not return any value
    void demofunction(double i)
    {
        // Demo condition check
        if (i < 9)
 
            // See here return need not be last
            // statement but must be last statement
            // in a method to execute
            return;
 
        else
            ++i;
    }
 
    // Method 2
    // main driver method
    public static void main(String[] args)
    {
        // Calling the method
        new GFG().demofunction(7);
 
        // Display message to illustrate
        // successful execution of program
        System.out.println("Program executed successfully");
    }
}
Producción

Program executed successfully

Explicación de salida: 

A medida que la condición (i<9) se vuelve verdadera, ejecuta la declaración de devolución y, por lo tanto, el flujo sale del método ‘función de demostración’ y vuelve a la principal. Después de esto, la declaración de devolución debe ser la última declaración que se ejecute en un método, lo que significa que no tiene sentido definir ningún código después de la devolución, que se aclara a continuación de la siguiente manera:

Ejemplo 2A

Java

// Java program to illustrate usage of
// statement after return statement
 
// Main class
class GFG {
 
    // Since return type of RR method is void
    // so this method should return any value
    // Method 1
    void demofunction(double j)
    {
        return;
 
        // Here get compile error since can't
        // write any statement after return keyword
 
        ++j;
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
 
        // Calling the above defined function
        new GFG().demofunction(5);
    }
}

Producción:

Ejemplo 2-B

Java

// Java program to illustrate usage
// of return keyword
 
// Main class
class GFG {
 
    // Since return type of RR method is
    // void so this method should not return any value
    // Method 1
    void demofunction(double val)
    {
 
        // Condition check
        if (val < 0) {
 
            System.out.println(val);
            return;
 
            // System.out.println("oshea");
        }
        else
            ++val;
    }
 
    // Method 2
    // Main drive method
    public static void main(String[] args)
    {
 
        // CAlling the above method
        new GFG().demofunction(-1);
 
        // Display message to illustrate
        // successful execution of program
        System.out.println("Program Executed Successfully");
    }
}
Producción

-1.0
Program Executed Successfully

Nota: En el programa anterior, descomentamos las declaraciones, arrojará un error.

Este artículo es una contribución de Rajat Rawat . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *