LENGUAJES DE PROGRAMACIÓN  
 
 
Empezando con Java

EMPEZANDO CON JAVA

 
 

 

6.2. Declaración de métodos.

 

anterior :: indice :: siguiente

 

6.1. Introducción.

6.2. Declaración de métodos.

6.3. Parametros de los métodos.

 

6.4. Parametros vargs o parametros arbitrarios.

6.5. Sobrecarga de métodos.

6.6. Recursividad.

 

 

 

 

Todo programa en Java necesita de un método principal llamado main, pero también podemos añadir más métodos a parte del principal. Estos métodos después pueden ser usados en el método principal, todo método como mínimo necesita de un identificador, un indicador de si el método será estático o no, y un indicador de si se desea que el método deba devolver un valor o no, veamos un ejemplo:

 

 
import java.util.Locale;
import java.util.Scanner;

class Ejemplo01{
  static int a,b;
  static Scanner lectura;


  static void leyendo(){
    System.out.printf("Ingrese un numero ");
    a=lectura.nextInt();
    System.out.printf("Ingrese un numero ");
    b=lectura.nextInt();
  }

  static int suma(){
    return a+b;
  }

  public static void main(String[] args){

    Locale.setDefault(Locale.US);
    lectura = new Scanner(System.in);

    leyendo();
    System.out.printf("La suma es %8d ",suma());

 }
}
 

Código fuente 1: Métodos estáticos.

 

En el ejemplo se declaran dos métodos uno llamado leyendo y otro llamado suma, como se puede observar la diferencia entre ambos métodos esta en el valor devuelto por ellos, en el caso de leyendo no devuelve ningún valor ya que usa void y en el caso de suma este devuelve un valor de tipo entero y usa int en reemplazo de void, dentro del método suma se usa la palabra reservada return, esta palabra reservada se usa sólo cuando el método tiene que devolver un valor, en el caso del método suma este devuelve la suma de las variables globales o variables de instancia a y b. También se puede observar que la instancia lectura de la clase Scanner, se ha creado junto con las variables globales, esto es así para poder usar el objeto lectura en todos los métodos que se puedan crear sólo dentro de la clase Ejemplo01, es decir dentro de la clase de la aplicación.

El encabezado de un método puede empezar con static o sin el, seguido el tipo de dato primitivo que indica el valor a devolver o la palabra reservada void, para indicar que no debe devolver un valor. Luego viene el nombre y finalmente debe encerar entre paréntesis los parámetros que se usarán con el método, si el método no usa parámetros entonces los paréntesis deben aparecer vacíos, en el siguiente capítulo se explicará más sobre los parámetros.

Después del encabezado del método se empieza a escribir el código del mismo, empezando con una llave de apertura, para terminar el método con una llave de cierre.

Los métodos que anteriormente hemos visto son estáticos ya que como se pudo observar usan la palabra reservada static, si queremos usar métodos no estáticos entonces sólo debemos retirar el uso de la palabra reservada static, pero para poder usar estos métodos es necesario crear una instancia u objeto de la clase. El siguiente ejemplo es el mismo pero con la diferencia en que los métodos leyendo y suma no son estáticos.

 

 
import java.util.Locale;
import java.util.Scanner;

class Ejemplo02{
  static int a,b;
  static Scanner lectura;

  void leyendo(){
    System.out.printf("Ingrese un numero ");
    a=lectura.nextInt();
    System.out.printf("Ingrese un numero ");
    b=lectura.nextInt();
  }

  int suma(){
    return a+b;
  }

  public static void main(String[] args){

    Locale.setDefault(Locale.US);
    lectura = new Scanner(System.in);

    Ejemplo02 ObjEjemplo02= new Ejemplo02();
    ObjEjemplo02.leyendo();
    System.out.printf("La suma es %8d ",ObjEjemplo02.suma());

 }
}
 

Código fuente 2: Métodos no estáticos.

 

Tal como se puede observar para usar métodos no estáticos es necesario crear la clase, y eso se hace con la siguiente instrucción:

 

Ejemplo02 ObjEjemplo02= new Ejemplo02();

 

ObjEjemplo02 será el objeto o instancia de la clase Ejemplo02, y para usar los métodos no estáticos necesitamos de la instancia ObjEjemplo02, para poder acceder a los métodos.

El uso de métodos estáticos o no estáticos se explicarán en profundidad cuando se explique más en profundidad sobre la programación orientada a objetos.

Dentro de los métodos, también se pueden crear o definir sus propias variables, de igual modo a como lo hacemos con el método main, pero las declaraciones de estas variables sólo se podrán usar dentro de los métodos, a continuación un ejemplo:

 

 
import java.util.Locale;
import java.util.Scanner;
import java.lang.Math;

class Ejemplo03{
  static double x1,x2,y1,y2;
  static double a,b,c;
  static Scanner lectura;

  static double Discriminante(){
    return (b*b)-(4*a*c);
  }

  static void RaizCuadraticaEc(){
    double disc;
    disc=Discriminante();
    if (disc>=0) {
        x1=(-b+Math.sqrt(disc))/(2*a);
        x2=(-b-Math.sqrt(disc))/(2*a);
        y1=0;
        y2=0; }
    else {
        x1=-b/(2*a);
        x2=-b/(2*a);
        y1=(Math.sqrt(-disc))/(2*a);
        y2=-(Math.sqrt(-disc))/(2*a); }
  }

  public static void main(String[] args){

    Locale.setDefault(Locale.US);
    lectura = new Scanner(System.in);

    System.out.printf("a = ");a=lectura.nextDouble();
    System.out.printf("b = ");b=lectura.nextDouble();
    System.out.printf("c = ");c=lectura.nextDouble();

    RaizCuadraticaEc();
    System.out.printf("Parte real%n");
    System.out.printf("x1 = %8.3f%n",x1);
    System.out.printf("x2 = %8.3f%n",x2);
    System.out.printf("Parte imaginaria%n");
    System.out.printf("y1 = %8.3f%n",y1);
    System.out.printf("y2 = %8.3f%n",y2);
 }
}
 

Código fuente 3: Variables dentro de los métodos - Ecuación cuadrática.

 

El programa anterior nos permite hallar las raíces de una ecuación cuadrática, ingresando sus tres valores constantes a,b,c. En este programa se hace uso del método RaizCuadraticaEc, y del método Discriminante, que calcula el discriminante de la ecuación cuadrática; pero dentro del método RaizCuadraticaEc se declara la variable disc de tipo double, que guarda el resultado del discriminante, la variable disc sólo se puede usar dentro del método RaizCuadraticaEc, haciendo de esta manera el uso de dicha variable privado y exclusivo sólo para las instrucciones del método RaizCuadraticaEc.

Las variables x1,x2,y1,y2 y a,b,c se les conoce como variables globales o variables de instancia, ya que se pueden usar en cualquier parte del método principal main y también dentro de cualquier método que pertenezca a la clase Ejemplo03. La variable disc, que se encuentra en el método RaizCuadraticaEc se conoce como una variable local y sólo se puede usar dentro del método en donde fue creado. Además de lo explicado se puede observar también el uso del método sqrt, esta método nos devuelve la raíz cuadrada de un número real cualquiera.

Los métodos en Java siempre deben pertenecer a una clase, que en estos ejemplos son las las clases Ejemplo01, Ejemplo02 y Ejemplo03 que se conocen como clases de la aplicación, recodemos que en Java toda aplicación o programa se define con una clase que tiene un método principal llamado main.

 

Delicious

 

anterior :: indice :: siguiente

 

 
 

  SUGERENCIAS