Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.
"Tú otra vez, Amigo. Bueno, hola".
"¿Parece que no estás muy feliz de verme, Diego?"
"Tengo la impresión de que crees que ya has aprendido todo lo que hay que saber sobre los métodos en Java".
"Oh, yo no..."
"¡No lo creo! Ni siquiera sabes la mitad".
"Claro, no me disgusta...
"Está bien, basta de charla. Es hora de comenzar. Y comenzaremos con algo simple. Por ejemplo, el hecho de que Java tiene una declaración de retorno . Te permite terminar instantáneamente un método en el que se llama. Aquí está la declaración:
return;
"Es simple: la palabra solitaria return
seguida de un punto y coma. Tan pronto como el programa ejecuta esta declaración, el método actual sale y el método de llamada continúa.
"Si return
se llama al main
método, el main
método terminará inmediatamente y con él todo el programa.
Ejemplo:
|
El fill método llena parte de la matriz pasada con value . La parte de la matriz a llenar está definida por los índices from y to . Si from es menor 0 o to mayor que la longitud de la matriz, el método finaliza inmediatamente. |
"El programa anterior tiene un fill
método que llena la matriz que se le pasa con value
. No llena toda la matriz, solo la parte especificada por los índices from
y to
.
"Al comienzo del fill
método, los valores pasados se verifican para garantizar que sean válidos. Si from
es menor que 0 o to
mayor que la longitud de la matriz, el fill
método finaliza inmediatamente (ejecuta una return
declaración)".
"Entendido. ¿Eso es todo lo que hace esta declaración?"
"En realidad, la return
declaración es más útil de lo que crees. Es tan útil que se encuentra en casi todos los métodos de Java. Y ahora te guiaré para que comprendas por qué es así.
Métodos con un resultado,void
"Probablemente recuerdes que hay declaraciones y expresiones . ¿Cuál es la diferencia entre ellas?"
"Si no me equivoco, una expresión, a diferencia de una declaración, tiene un significado que puede usarse en alguna parte".
"Correcto. Y, en Java, los métodos también pueden tener un valor . Y esta es una muy buena noticia: los métodos no solo pueden hacer algo en función de los parámetros de entrada, sino también, por ejemplo, para evaluar algo y devolver el resultado de el calculo
"Por cierto, ya has encontrado tales métodos:
|
El abs() método devuelve un doble |
|
El nextInt() método devuelve unint |
|
El toUpperCase() método devuelve unString |
|
El copyOf() método devuelve unint[] |
"Cada método solo puede devolver un valor de un tipo predeterminado . El tipo de devolución se determina cuando se declara el método:
public static Type name(parameters)
{
method body
}
Donde name
es el nombre del método, parameters
es la lista de parámetros del método y type
es el tipo de resultado que devuelve el método.
Para los métodos que no devuelven nada, hay un tipo de marcador de posición especial: void
.
"En otras palabras, si escribo mi método y no quiero devolver nada, entonces declaro que el tipo del método es void
, ¿y eso es todo?"
"Sí. Y también debo decir que Java tiene muchos de esos métodos.
Devolviendo un resultado
"Descubrí cómo declarar un método que devuelve el resultado de un cálculo/trabajo. ¿Cómo devuelvo el resultado del método mismo?"
"Esa es una pregunta válida. La return
declaración nos ayuda aquí una vez más. Pasar un resultado de un método se ve así:
return value;
"La return
declaración terminará el método inmediatamente. Y value
es lo que el método debe devolver al método de llamada cuando sale. El tipo de value
debe coincidir con el Type
especificado en la declaración del método. Aquí hay algunos ejemplos para reforzar lo que ha aprendido:
Ejemplo 1. El método calcula el mínimo de dos números:
|
El método devuelve el mínimo de dos números. Si a < b regresa a De lo contrario regresa b |
Ejemplo 2. El método duplica la cadena que se le pasa n
varias veces:
|
El método toma dos parámetros: una cadena y el número de veces que se debe repetir la cadena. Se crea una cadena vacía para el resultado futuro. En un ciclo con times iteraciones, str se agrega un espacio y la cadena a la cadena result . La cadena result se devuelve como resultado del método. |
Ejemplo 3: El método calcula el máximo de dos números utilizando el operador ternario:
|
El método devuelve el máximo de dos números. volver (si a > b , entonces a , de lo contrario b ) |
"Excelente. ¡Los métodos son mi nuevo superpoder!"
"Solo si practicas lo suficiente en tareas prácticas. Cambio y fuera".
GO TO FULL VERSION