Sei sulla pagina 1di 4

Mtodos y funciones en Java

Los mtodos en Java nos sirven para ejecutar instrucciones mediante unos
parmetros que nosotros le damos (a veces, no es necesario incluir parmetros).

Los mtodos se definen fuera del main, debemos de indicarle que es lo que
queremos que tipo de dato o referencia devuelva, ya sea un int, String, un objeto,
un array, etc, despus el nombre del mtodo y por ltimo los parmetros que
utilizara el mtodo, estos parmetros son los valores que le daremos desde
el main.

Esta es su sintaxis:

[Modificador de acceso] [Otros modificadores] Valor_retorno


nombre_mtodo (parmetros)

instrucciones

Veamos un ejemplo de su definicin, recuerda que lo hacemos fuera del main:

1 public class PruebaApp {


2
3 public static void main(String[] args) {
4
5 }
6
7 public static int sumaNumeros (int num1, int num2){
8
9 }
}
10

Lo de public (o private) y static, no es importante que sepas lo que significan


ahora, ya que lo veremos con ms detalles cuando veamos la programacin
orientada a objetos. Tambin hemos puesto que devuelva un int, cuando ponemos
que devuelva un valor, debemos poner algn return con el tipo de valor que
ponemos a devolver. En return podemos poner una frmula o una variable.
Sigamos con el ejemplo:
public class PruebaApp {
1
2 public static void main(String[] args) {
3
4 }
5
6 public static int sumaNumeros (int num1, int num2){
7
int resultado=num1+num2;
8 return resultado;
9 }
10 }
11
12
Tambin podramos escribir return num1+num2; no es estrictamente necesario
colocar un return al final, aunque es lo ms normal, cuando ejecuta la lnea de
cdigo return, sale del mtodo devolviendo el valor.

Ya tenemos el mtodo, pero ahora debemos invocarlo en el main, ya que sino no


servira de nada. Para invocarlo, escribimos el nombre en el main y le pasamos los
parmetros que necesite, no podemos ni quitarle ni aadirle mas de los que
necesita, ya que sino dar un error en la compilacin. Sigamos con el ejemplo:

1
2 public class PruebaApp {
3
4 public static void main(String[] args) {
5
int operador1=3;
6 int operador2=5;
7 sumaNumeros(operador1, operador2);
8 }
9
10 public static int sumaNumeros (int num1, int num2){
11
int resultado=num1+num2;
12 return resultado;
13 }
14 }
15
Como vemos, no es necesario que el nombre de los parmetros del mtodo
(parmetros formales) sean iguales a los parmetros con los que invocamos el
mtodo (parmetros actuales).

Solo nos falta un detalle, almacenar el resultado del mtodo, ya que ahora mismo
no estamos haciendo nada con l. Sigamos con el ejemplo:

public class PruebaApp {

public static void main(String[] args) {

int operador1=3;
int operador2=5;
int resultado=sumaNumeros(operador1, operador2);

System.out.println("El resultado de la suma es "+resultado);


}

public static int sumaNumeros (int num1, int num2){

int resultado=num1+num2;
return resultado;
}
}

Antes hemos comentado que no es necesario que devuelva un tipo de valor, puede
no devolver nada, esto se suele usar cuando no necesitamos manejar algn valor
calculado en el mtodo. Por ejemplo, mostrar un mensaje. Al no devolver ningn
valor, no debemos poner return y no es necesario almacenar el resultado del
mtodo como hemos visto antes.

Para indicar al mtodo que no devuelva nada, en el valor devuelto


escribimos void. Veamos un ejemplo con el ejemplo anterior:

1
2 public class PruebaApp {
3
public static void main(String[] args) {
4
5
int operador1=3;
6 int operador2=5;
7 sumaNumeros(operador1, operador2);
8
9 }
10
11 public static void sumaNumeros (int num1, int num2){
12
int resultado=num1+num2;
13 System.out.println("El resultado de la suma es "+resultado);
14 }
15 }
16
Por ltimo, os quiero mostrar algo que debemos tener muy en cuenta, que nos suele
pasar a todos al empezar.

Imaginemos que manejamos dentro del mtodo una estructura condicional (como
un if), si ponemos un return dentro de este if, seguramente nos salte un error, ya
que debemos controlar que si no se introduce en el if debemos devolver algo.

Veamos un ejemplo, devolviendo un booleano, segn sea positivo o negativo el


resultado:
1
2
public class PruebaApp {
3
4 public static void main(String[] args) {
5
6 int operador1=3;
7 int operador2=5;
8
9 if (sumaNumeros(operador1, operador2)){
10 System.out.println("El resultado es mayor que 0");
}else{
11 System.out.println("El resultado es menor que 0");
12 }
13 }
14
15 public static boolean sumaNumeros (int num1, int num2){
int resultado=num1+num2;
16 if (resultado>=0){
17 return true;
18 }else{
19 return false;
20 }
}
21 }
22
23
Podemos tener tantos mtodos como queramos, lo ms recomendable es
usar mtodos en acciones que repitamos mucho y queramos automatizar.

Potrebbero piacerti anche