Los metodos son usados para definir codigo reusable y poder
organizar y simplificar el codigo. Un metodo es una coleccion de enunciados agrupados para desarrollar alguna tarea. Algunos metodos que hemos usados son System.out.println, Math.pow. Estos metodos estan definidos en las librerias de Java. Ahora vamos a aprender a definir nuestros propios metodos. Definiendo un metodo.
La sintaxis para definir un metodo es:
modifier returnValueType methodName(lista de parametros){
//cuerpo del metodo. }
Figure: Estructura de un metodo.
Definiendo un metodo.
El method header (cabezal del metodo) especifica los modifiers
(modificadores), return value type (tipo de valor de retorno), method name (nombre del metodo) y parameters (parametros del metodo). Por ahora nosotros solo usaremos static como modifier. Si el return de un metodo es un valor, entonces diremos que el metodo es llamado un value-returnign method (metodo con valor de retorno). En otro caso sera llamado un void method (metodo vaco). Definiendo un metodo.
Las variables usadas en el metodo seran los parametros. Algunos
metodos no necesitan parametros, por ejemplo Math.random(). Observacion: En el cabezal de un metodo, se necesita declarar cada parametro por separado. Por ejemplo: max(int num1, int num2) es correcto. max(int num1, num2) es incorrecto. Invocar un metodo.
Hay dos formas de llamar o invocar un metodo, dependiendo si el
metodo retorna algun valor o no. Si el metodo retorna algun valor: Si el metodo retorna un valor, este se puede tratar como si fuera un valor y por lo tanto se puede asignar a una variable o usar como un valor. int mayor = max(3,4); // invoca el metodo y se lo asigna a la variable mayor
Systen.out.println(max(3,4)); //aqui trata el metodo como un valor. Invocar un metodo.
Si el metodo es vaco: Si el metodo es de tipo void (vaco)
se debe invocar el metodo como un enunciado. Por ejemplo: System.out.println("Bienvenidos a la clase"); Nota: Un metodo con valor de retorno (no vaco) tambien puede ser invocado por medio de un enunciado en Java. Metodo NumeroMayor
public class NumeroMayor {
//metodo main public static void main(String[] args) { int i = 5; int j = 2; int k = max(i,j); System.out.println("El maximo entre + i + " y " + j + " es " + k); } //metodo que retorna el maximo entre dos numeros public static int max(int num1, int num2) { int resultado; if (num1>num2) resultado = num1; else resultado = num2; return resultado; } } Figure: Metodo NumeroMayor. Cuidado.
Figure: Error de compilacion.
El lado (a) es logicamente correcto pero tiene un error de
compilacion puesto que el compilador de Java puede pensar que este metodo puede no tener un valor de retorno. Todo metodo del tipo value-returning debe tener un valor de retorno. Ejemplo de un void method
Figure: Metodo void.
Figure: El mismo metodo Tarea
Disene un programa, usando uno o mas metodos (diferente al
main), que dado un da de la semana y un numero positivo entero, diga que da sera ese nuevo da. Ejemplo: Si hoy es jueves que da sera en 100 das? Respuesta: Sabado.