Está en la página 1de 7

Tutorial de Uso de Funciones

En las aplicaciones de Java se pueden utilizar dos tipos de funciones:

1. Funciones incorporadas en el API de Java.


2. Funciones definidas por el usuario. El lenguaje de Java permite a los
usuarios definir sus propias funciones, dado que, seria imposible que Java
incluya todo lo que los programadores pudieran necesitar para el desarrollo
de sus aplicaciones.

Las funciones deben utilizarse dentro de expresiones válidas del lenguaje Java,
estas siempre retornan un valor como producto del proceso efectuado por la
función. Ese valor es utilizado por la instrucción que realiza la llamada a la
función. No confunda una función con un procedimiento. Los procedimientos no
devuelven valores.

Uso de funciones incorporadas en el API de Java

En la siguiente aplicación se mostrara como invocar una función incorporada en el


API de Java. Por ejemplo, como utilizar las funciones trigonométricas.

// Uso de Funciones en Java.


import java.util.Scanner;

public class UsoDeFunciones {


public static void main(String[] args) {
Scanner entradas = new Scanner(System.in);
double angulo;
double seno, coseno;

© UNITEC 2010 Página 1


System.out.print("Introduzca un ángulo en radianes: ");
angulo = entradas.nextDouble();

// Calcular el seno del angulo introducido.


seno = Math.sin(angulo);

// Calcular el coseno del angulo.


coseno = Math.cos(angulo);

System.out.println("El seno del ángulo " +


angulo + " es: " + seno + "\n" +
"El coseno del ángulo " +
angulo + " es: " + coseno + "\n");

// Se puede utilizar la función dentro


// de expresiones.
System.out.println("El seno del ángulo " +
angulo + " es: " +
Math.sin(angulo) + "\n" +
"El coseno del mismo ángulo es: " +
Math.cos(angulo));
} // Fin de la función main.
} // Fin de la clase UsoDeFunciones

Otras funciones matemáticas:

© UNITEC 2010 Página 2


METODOS DESCRIPCION

abs(x) Valor absoluto


ceil(x) Redondear x a un entero mayor
cos(x) Coseno
exp(x) Exponencial ex
floor(x) Redondear x a un entero menor
log(x) Logaritmo natural de x
max(x, y) Mayor entre los dos valores
min(x, y) Menor entre los dos valores
pow(x, y) Potencia xy
sin(x) Seno
sqrt(x) Raíz cuadrada
tan(x) Tangente

Uso de funciones definidas por el usuario

Las funciones definidas por el usuario, son funciones diseñadas para realizar
tareas específicas para sus aplicaciones.

Las funciones se deben declarar en clases o como funciones estáticas dentro de


aplicaciones de Java.

Por ejemplo, a continuación se muestra una clase de tipo aplicación, donde se


definen funciones static a utilizar por la función principal main. Se declaran como

© UNITEC 2010 Página 3


métodos static todos aquellos que no requieran ser instanciados desde una clase
para poder ser invocados. En las aplicaciones Java se requiere que los métodos
sean declarados como static (observe el método main).

// Uso de Funciones definidas por el usuario.


public class UsoDeFuncionesDeUsuario {

/* La siguiente función devuelve true


si n es un numero par o false
si no lo es. */
public static boolean esPar( int n ) {
return n % 2 == 0;
}
/* La siguiente función devuelve el
residuo de dividir a entre b */
public static int resto( int a, int b ) {
return a % b;
}

/* La siguiente función devuelve el


número PI aproximado */
public static double numeroPI() {
return 3.14159;
}

public static void main(String[] args) {

System.out.println(

© UNITEC 2010 Página 4


"El resto de 15 ÷ 5 es: " +
resto(15, 5));

System.out.println(
"El número 40 es par: " +
( esPar( 40 ) ? "Verdadero":"Falso" ) );

System.out.println(
"El valor del número PI es: " +
numeroPI());

} // Fin de la función main.

} // Fin de la clase UsoDeFuncionesDeUsuario

Veamos otro ejemplo. En este caso crearemos una clase utilitaria y una
aplicación donde instanciaremos dicha clase para poder utilizar sus
métodos. Crearemos también un método static y veremos la diferencia
entre invocar un método normal y un static.

Clase utilitaria

public class ClaseUtilitaria {

// Método static. No requiere una instancia de esta clase.


public static int cuadrado( int n )
{

© UNITEC 2010 Página 5


// Calcula el cuadrado de n.
return n * n;
}

// Otros métodos
public int mayor( int a, int b )
{
/* Devuelve el mayor entre a y b. No consideramos cuando
sean iguales. */
if( a > b)
return a;
else
return b;
}

public int mayor2( int a, int b, int c )


{
// Devuelve el mayor entre a, b y c.
int mayor = a;
if( b > mayor)
mayor = b;
if( c > mayor )
mayor = c;
return mayor;
}
} // Fin de la clase ClaseUtilitaria

Aplicación principal

© UNITEC 2010 Página 6


public class ClasePrincipal {
public static void main(String[] args)
{
/* Uso del método static. No se necesita instanciar una clase.
Solo se referencia con el nombre de la clase. */
System.out.println(“El cuadrado de 2 es: “ +
ClaseUtilitaria.cuadrado( 2 ) );

/* Uso del método mayor y mayor2. Se requiere de una


Instancia de la clase. */
ClaseUtilitaria clutil = new ClaseUtilitaria();

System.out.println(“El mayor entre 5 y -2 es: “ +


clutil.mayor( 5, -2 ));

System.out.println(“El mayor entre 5, -2 y 0 es: “ +


clutil.mayor( 5, -2, 0 ));
}
} // Fin de la clase ClasePrincipal

© UNITEC 2010 Página 7

También podría gustarte