Mundo
del Programador

Funciones

En programación se suele reutilizar código. Esto para ahorar espacio y tiempo de programación. Una función realiza una tarea en concreto. Opcionalmente las funciones aceptan unos parámetros de entrada y devuelven unos parametros de salida.

Por ejemplo tenemos el programa:

                  
                  import java.util.Scanner;
                  public class Ejercicio02_esPrimo {

                      public static void main(String[] args) {
                        Scanner tecla = new Scanner(System.in);

                        System.out.println("Introduce un número:");
                        int x = tecla.nextInt();
                        
                        if(funciones.VariasMate.esPrimo(x)){
                            System.out.print("El número es primo");
                        }else {
                            System.out.print("El número no es primo");
                        }
                      }
                      
                  }
                 

Ahora veamos la función que resuelve este problema:


                  /*
                  * Devuelve verdadero si el número que se pasa como parámetro es primo y falso
                  * en caso contrario.
                  * 
                  * @author BrinCo
                  * @param  es o no es número primo 
                  * @ return verdadero si es primo, falso en caso contrario
                  * 
                  */

                  public static boolean esPrimo(int x){
                      
                      int primo = x;
                      boolean esPrimo = false;

                      for(int i = 2; i < x; i++){
                          if((x % i) == 0){
                              return false;
                          }
                      }
                      return true;
                  }
                

Los comentarios son muy importantes para el programa. Aunque no se compilan ni se ejecutan, permiten aclarar y dar información relevante sobre lo qué hace el código. Un programa bien comentado hace el programa mucha más facil de corregir, mantener y mejorar.

Hay una herramienta llamada javadoc que crea unos documentos en HTML con información sobre los programas escritos en Java. Para esto utiliza los comentarios y las meta-informaciones. La meta-información se distingue porque siempre va precedida de un 0. Javadoc también utiliza unas etiquetas:

  • param - seguida de un nombre de parámetro se indica que parámetro de entrada espera la función. Si hay varios parámetro que espera como entrada la función se especifica varios param
  • return - especifica que devuelve la función

De saber que en un mismo fichero por ejemplo calculos, se pueden agrupar varias funciones. Luego hay que hacer un llamamento desde el programa principal hacia la función que deseamos.

Por ejemplo para llamar a la función esPrimo que estaba en el paquete (carpeta) funciones y alli dentro de calculos hacemos un import.

                  
                  import funciones.Calculos.esPrimo();
                

En java, como en la mayoria de lenguajes de programación se pasan los parámetros por valor o por referencia. Cuando se pasa por valor, en realidad se pasa una copia de la variable, y cualquier modificación de la variable que se pasa conmo parámetro dentro de la función no tendrá ningún efecto fuera de la misma.


                  /**
                  * Paso de parámetros por valor
                  *
                  * @author BrinCo
                  */
                  public class PruebaParametros1 {
                    public static void main(String[] args) {
                      int n = 5;
                      System.out.println(n);
                      calcula(n);
                      System.out.println(n);
                    }

                    public static void calcula(int x) {
                      x += 10;
                      System.out.println(x);
                    }
                  }

                  /**
                  * el resultado seriá
                  * 5
                  * 15
                  * 5
                  */
                

Cuando se pasa un parámetro por referencia, se modifica su valor también dentro de la función. y los cambios permanecerán una vez que la función ha terminado de ejecutarse.

En la mayoria de los lenguajes de programación el programador elije si un parámetro se pasa por valor o por referencia, pero en java no podemos elegir. Todos los parámetros se pasan por valor, exepto los arrays que se pasan por referencia.


Ejercicios resueltos en github



Siguiente
Atras