Otras lecciones del Curso de Java
¿Qué es IO en Java?
¿Cúales son los Operadores en Java?
¿Qué tipos de Variables hay en Java?
¿Cómo funciona Continue y Break en Java?
¿Cómo aplicar un Try Catch y Finally en Java?
¿Cómo utilizar el método super en Java?
¿Cómo trabajar con listas en Java?
¿Cuáles son los métodos de la clase String en Java?
¿Qué es un entorno de desarrollo en Java?
¿Qué es la Sobreescritura de métodos en Java?
¿Cómo hacer un Hola Mundo en Java?
¿Cómo utilizar Throw y throws en Java?
¿Cómo hacer comentarios en Java?
¿Cuáles son las Palabras reservadas en Java?
Variables de entorno en Java
Características y estadísticas de Java e índice TIOBE
Estructura de proyecto, paquetes y clases en Java
Qué es una función en Java
¿Cómo funcionan las Funciones Java?
Operadores aritméticos en Java
Operadores de comparación en Java
Funciones anónimas en Java
Cómo invocar una función en Java
Atajos de teclado para IntelliJ
¿Qué es la Sobrecarga de funciones en Java?
Operadores lógicos en Java
Debug en Java
Como se crea una función en Java
¿Cómo crear Sentencias Switch en Java?
Bucles for en Java
¿Cómo hacer sentencias If e If else en Java?
¿Cómo funcionan los Bucles While en Java?
¿Qué son los objetos en Java?
¿Qué es el modificador static en Java y cómo se utiliza?
¿Qué es la herencia en Java?
¿Qué son los constructores en Java y cómo se utilizan?
¿Cómo crear clases en Java?
¿Qué es el Polimorfismo en Java?
¿Qué son las Clases Abstractas en Java?
¿Qué es la Programación genérica en Java?
¿Qué son las Interfaces de Java?
Implementación de una interface en Java
¿Cómo se hace refactoring en Java?
¿Cómo trabajar con Maps en Java?
¿Como funcionan los arrays en Java?
¿Cómo generar excepciones en Java?
¿Qué es la clase Scanner en Java?
Introducción a Swing en Java
¿Quieres descubrir más cosas como Ámbito y retorno de una función en Java?¡Apuntate a nuestro campus y empieza a aprender con nosotros y con toda la comunidad!

A veces en nuestros desarrollos precisamos que una función nos devuelva un valor para ser utilizado en otra parte del programa o que al terminar de ejecutar las sentencias incluidas en ella, vuelva al punto del código desde donde fue invocada.

Java nos proporciona la sentencia return para realizar esta tarea.

Esta sentencia tiene dos usos principales, el más conocido es finalizar la ejecución del método en el que aparece, independientemente de que este sea un bucle, o devolver un valor para ser utilizado en otra parte del programa.

Antes de continuar, recordemos lo que es un método: Un método o función es un bloque de código que puede invocarse desde el programa principal o desde otro método para llevar a cabo una tarea específica. 

Ahora volvamos al uso de esta sentencia.

Luego de que return provoque la salida del método, el programa devuelve el control a la expresión de llamada, es decir a la línea de código desde donde fue invocada la función que contiene la palabra clave mencionada más arriba, para continuar con el flujo normal del programa.

¿Cómo aplicar un return en Java?

Si utilizamos return como sentencia de finalización de un método, declaramos el mismo de manera convencional con la palabra void, aquí tengamos en cuenta que si se intenta devolver un valor desde un método declarado void, aparecerá un error de compilación.

Ejemplo del uso de return en Java como sentencia de salida:

package com.opus4;

import java.util.Scanner;

public class ejemploReturn {
    public static void main(String[] args) {
        // uso del return como finalización del método
        int n;
        Scanner entrada = new Scanner(System.in);
        System.out.println("Ingrese un número entero: ");
        n = entrada.nextInt();
        System.out.println("Tabla del número " + n);
        for (int i = 0; i <= 10; i++)
            System.out.println(n + " x " + i + " = " + (n * i));

        return; // No devuelve ningún valor
    }
}

Para que un método devuelva un valor debemos aplicar el return de otra manera, la cual se explica a continuación.

¿Cómo aplicar un return con valores en Java?

Cuando precisamos que la función nos devuelva un valor, la misma debe ser declarada un poco distinta al modo anterior, no se usa la instrucción void, sino que en lugar de void debemos poner el tipo de dato que va a retornar la función o método.

Por ejemplo, si necesitamos que nos devuelva un entero, se pondrá int, si la devolución debe ser una cadena, se pondrá String, y así sucesivamente.

Además el tipo de dato que va a devolver el return, debe coincidir con el tipo de dato que pusimos en la definición del método.

Cualquier método que no sea declarado como void, tendrá que contener una sentencia return para devolver un valor a la línea de código que lo invocó, tal cual podemos verlo en el ejemplo siguiente:

package com.opus4;
import java.util.*;
public class Fecha {

    // aquí podemos ver que no se utiliza void, sino el tipo de dato que va a devolver el return

    public Date hoy() {
        Date a = new Date();
        return a;
    }

    public static void main(String[] args) {
        Fecha tiempo = new Fecha();
        System.out.println(tiempo.hoy());
    }
}

Estos son los dos modos más utilizados para aplicar la sentencia return en nuestros desarrollos.

¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: