Diferencia entre revisiones de «Usuario:Santolaria/apuntesmetodos/metodos»
(6 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 21: | Línea 21: | ||
=== Estructura de un método === | === Estructura de un método === | ||
− | public static nombreMetodo (parametros) { | + | public static void nombreMetodo (parametros) { |
− | + | //código que repetimos | |
} | } | ||
Línea 28: | Línea 28: | ||
* '''public''', significa que es un método público y no privado, esto seguramente lo profundizaremos cuando estudiemos las clases. | * '''public''', significa que es un método público y no privado, esto seguramente lo profundizaremos cuando estudiemos las clases. | ||
− | * '''static''': En clase nos introdujeron en el mundo de los objetos, y nos explicaros que estático quiere decir que | + | * '''static''': En clase nos introdujeron en el mundo de los objetos, y nos explicaros que estático quiere decir que no hace falta instanciar la clase que lo contiene para usarlo. |
* '''nombreMetodo''': El nombre del método que vayamos a crear. Puede ser cualquier nombre. | * '''nombreMetodo''': El nombre del método que vayamos a crear. Puede ser cualquier nombre. | ||
* '''Parámetros''': Un método al ser código necesita trabajar con unas variables que ya existen, pero están en el main y, como partimos de 0, tenemos que "introducirlas" en el método. Esas variables que el método necesita y que ya existen las podemos pasar por '''parámetros'''. Así el método sabrá nada mas empezar el código qué valores tiene. | * '''Parámetros''': Un método al ser código necesita trabajar con unas variables que ya existen, pero están en el main y, como partimos de 0, tenemos que "introducirlas" en el método. Esas variables que el método necesita y que ya existen las podemos pasar por '''parámetros'''. Así el método sabrá nada mas empezar el código qué valores tiene. | ||
− | Esa es la cabecera, lo que "identifica la caja". | + | Esa es la cabecera, lo que "identifica la caja". Hay que decir que despúes del static se pone el tipo del return ( si no devuelve nada escribiremos '''void'''), que lo veremos más adelante, para decirle al método lo que devolverá. |
Después la caja se abre con la apertura de la llave '''{''' | Después la caja se abre con la apertura de la llave '''{''' | ||
Dentro está el cuerpo del método, el código que necesitamos que se repita varias veces en nuestro programa. | Dentro está el cuerpo del método, el código que necesitamos que se repita varias veces en nuestro programa. | ||
Línea 56: | Línea 56: | ||
switch (num) { //el switch evalúa num y mira qué caso coincide | switch (num) { //el switch evalúa num y mira qué caso coincide | ||
− | + | case 1: | |
− | + | resultado = sumaCalculo(num2); //guardo en la variable resultado el valor que devuelve el método; el parámetro debe ser la variable num2, luego en el método ya pasará a llamarse numero1 | |
− | + | System.out.println("La suma de los números anteriores es" + resultado); | |
− | + | break; | |
− | + | case 2: | |
− | + | resultado = restaCalculo(num2); //el parámetro debe ser la variable num2, luego en el método ya pasará a llamarse numero2 | |
+ | System.out.println("La suma de los números posteriores hasta el 10 es" + resultado); | ||
+ | break; | ||
} | } | ||
Línea 76: | Línea 78: | ||
public static int restaCalculo ( int numero2) { // le pasamos como parametro num2, aunque se llame distinto ,porque podemos llamarlo como se quiera | public static int restaCalculo ( int numero2) { // le pasamos como parametro num2, aunque se llame distinto ,porque podemos llamarlo como se quiera | ||
− | int | + | int suma = 0; //variable local |
for (int i=10;i<numero2;i++) { //en este caso, el método no conoce la variable numero1 ni num2, solo la variable pasada por parámetro, numero2 | for (int i=10;i<numero2;i++) { //en este caso, el método no conoce la variable numero1 ni num2, solo la variable pasada por parámetro, numero2 | ||
suma = suma + i; | suma = suma + i; | ||
Línea 82: | Línea 84: | ||
return suma; //devolvemos el valor que contiene suma al main | return suma; //devolvemos el valor que contiene suma al main | ||
} | } | ||
+ | |||
+ | Esto se lee así: | ||
+ | # Empieza el programa; lee y luego muestra el menú. | ||
+ | # Según el número que metamos, num, hará una cosa u otra. | ||
+ | # Al llegar al nombre de la función, se parará y buscará el método entre el código, después ejecutará el código metido en el método y al finalizar volverá al main, donde seguirá leyendo desde donde había parado. | ||
+ | |||
}} | }} | ||
+ | |||
+ | Como vemos en el ejemplo lo mismo se puede hacer de dos formas: | ||
+ | |||
+ | # Poniendo el código de cada método en su lugar dentro del switch, lo que nos dejaría con muchas líneas de código | ||
+ | # O dejarlo con métodos, y entonces el main queda más limpio y más corto. | ||
+ | |||
+ | Recordad que luego, si queremos hacer de nuevo esas operaciones, no tendremos más que llamar al método escribiendo | ||
+ | nombreMetodo (numero con el que quieras trabajar, el que quieres que sea numero1 o numero2 en los métodos del ejemplo); |
Última revisión de 07:07 24 oct 2020
Los métodosComo ya dije en la introducción, los métodos no son en ningún momento obligatorios, pero sí muy recomendables si quieres ahorrar tiempo y esfuerzo. Ya os dije de alguna manera lo que es un método. Aquí analizaremos y comprobaremos su estructura, cómo se comportan en nuestro código y os dejaré algún ejemplo. Veamos los métodos como cajas cuya dimensión está definida por las llaves { y } Estructura de un métodopublic static void nombreMetodo (parametros) { //código que repetimos } ¿Qué hace esto? Vayamos línea por línea.
Esa es la cabecera, lo que "identifica la caja". Hay que decir que despúes del static se pone el tipo del return ( si no devuelve nada escribiremos void), que lo veremos más adelante, para decirle al método lo que devolverá. Después la caja se abre con la apertura de la llave { Dentro está el cuerpo del método, el código que necesitamos que se repita varias veces en nuestro programa. El código es normal, como los que hemos estado haciendo. Al final, cerramos con } para señalar que nuestro método ha finalizado. Comportamiento en el códigoYa sabemos la estructura de un método, ¿pero qué se pone en cada casilla? Esto se ve mejor con ejemplos.
Recordad que luego, si queremos hacer de nuevo esas operaciones, no tendremos más que llamar al método escribiendo nombreMetodo (numero con el que quieras trabajar, el que quieres que sea numero1 o numero2 en los métodos del ejemplo); |