Funciones en Java
En Java, así como en otros lenguajes de alto nivel es posible utilizar funciones. Las funciones son rutinas que son creadas por el usuario para realizar acciones específicas, generalmente repetitivas y que necesitan ser invocadas por el flujo del programa en momentos determinados.
Existen 2 tipos de funciones: Las funciones que retornan un valor y las funciones que no retornan un valor.
Las funciones que retornan un valor realizan procesos definidos por el usuario para al final retornar un valor, tal como las funciones matemáticas al estilo f(x) = mx + b, donde al otorgarle un valor al parámetro de f, osea x, nos retorna un valor, según sea la ecuación.
Veamos un ejemplo:
public int f(int x){
int y;
y=2*x + 3;
return y;
}
Basándonos en la ecuación lineal f(x) = mx+b, hemos creado esta función que se encargará de devolvernos el valor de y de esta ecuación.
Cuando queremos llamar a esta función dentro de nuestro programa, hacemos lo siguiente.
f(5);
Esto nos devolverá el valor de y para cuando x=5.
Hay otros tipos de funciones, como String, double, boolean, float, etc.
Las funciones que no devuelven un valor se llaman funciones tipo void.
Veamos como luce la misma función del ejemplo de arriba, ahora como void y no como int:
public void f(int x){
int y;
y=2*x + 3;
}
Reemplazamos el “int” por “void” y eliminamos el “return” statement, ya que la función void no retorna ningún valor.
La mejor manera de apreciar el comportamiento de esto es viéndolo en acción. Para ello utilizaremos el mismo ejemplo que creamos antes, “HolaMundo”.
Agregaremos a nuestro formulario un nuevo componente, un Campo de Texto o TextField
Le damos clic derecho al TextField, Editar Texto/Edit Text y eliminamos el contenido del componente para que quede vacío.
Lo agrandamos un poco para que quepa el texto que se va a introducir en el. Ahora, vamos al botón “Aceptar”, Clic derecho, Action, ActionPerformed.
Ahora escribiremos el siguiente código:
jLabel1.setText(jTextField1.getText());
Con esto haremos que al hacer clic en el botón “Aceptar”, cualquier texto que escribamos en el TextField aparezca en el jLabel1 que colocamos en nuestro Frame.
Le damos F6 para ejecutar el programa y vemos el resultado:
De esta manera logramos introducir información a nuestro programa a través del TextField y luego “imprimir” esa información a través de un Label.
Ahora implementaremos una función a este programa. Haremos una función que cuente la cantidad de letras que introducimos en el campo de texto.
Para ello utilizaremos la siguiente función:
public int Caracteres(String Input){
int Output=0;
Output=Input.length();
return Output;
}
Esta función la colocamos en el código fuente de nuestro programa, justo debajo de la función donde se inician los componentes del programa (public Window()).
Ahora, regresando a el actionPerformed del botón “Aceptar”, escribiremos lo siguiente:
jLabel1.setText(“Cantidad de Caracteres: ” + Caracteres(jTextField1.getText()));
El resultado de esto será que en el Label se imprima el mensaje Cantidad de Caracteres: + el número de caracteres que halla escritos en el TextField.
Este número será el que obtendremos como resultado de ejecutar la funciónCaracteres(jTextField1.getText()).
Con este comando le estamos introduciendo el contenido del TextField como parámetro de la función. Dentro de esa función se contarán los caracteres (Input.length() devuelve el tamaño de la cadena de caracteres que se introduzca en la función).
Veamos como funciona eso. Introduciremos el mensaje Panamá que contiene 6 caracteres.
Como vemos,al presionar “Aceptar” obtenemos la cantidad de caracteres (incluyendo espacios) de cualquier cosa que escribamos en el Campo de Texto.
Ahora trataremos de lograr este mismo resultado utilizando una función void.
La función quedaría de la siguiente manera:
public void Caracteres(String Input){
int Output=0;
Output=Input.length();
}
Sin embargo, al tratarse de una función que no retorna un valor, no nos devolverá un número, por lo que no podremos imprimir la cantidad de caracteres en el Label. Esto no significa que no sea posible lograr esto con una función void.
Para resolver este problema existen 2 alternativas: Utilizar una variable global o hacer la impresión del Label dentro de la función void.
Si declaramos una variable global, debemos hacerlo de la siguiente manera:
Las variables globales se declaran justo después de que se abre la llave de la clase (public class Window extends javax.swing.JFrame {).
Se caracterizan por que NetBeans les otorga una coloración en Verde, y pueden ser usadas por todos los métodos de la clase, es decir, todas las funciones de nuestro programa.
Veamos el resultado de nuestro código:
El resultado obtenido es exactamente igual al que se consigue con una función tipo int.
Esto también funciona si hacemos la impresión del Label dentro de la función void.
Y el resultado obtenido, seguirá siendo el mismo:
El comprender como trabaja una función en Java es muy importante para nosotros ya que para poder comunicar a Java con Arduino se necesita utilizar funciones, las cuales estaré publicando en mis próximos aportes.
Funciones en Java
18:10 |
Etiquetas:
JAVA+ARDUINO
Publicado por
web cervices
Suscribirse a:
Enviar comentarios (Atom)
Objetivo Y Reclamaciones
Este blog es un portal en el cual se publican contenidos de diferentes blogs.En los cuales se les anexa al pie de pagina un enlace a su pagina original aquí encontraran toda clase de proyectos de arduino y linux
Espero tengan una gran experiencia en este blog un Gran Saludo
de parte de la organización WebCervices..
objetivo
O del grupo ArduinoTec De arduino
Cualquier reclamación o petición comunicar al Administrador principal o hacer un comentario en la publicación que se sientan inconformes en los correos
electriarias@gmail.com
y para temas de suma importancia mi correo personal
pabioarias@hotmail.com
Siguenos en Twitter
Like
Unete a nuestro grupo de facebook
Hola que tal lectores de esta pagina tan maravillosa que es arduino Tec ...Los invito a que amplíen mas sus conocimientos en Arduino y Raspberry Pi Uniéndose a La mi grupo Arduino Tec
0 comentarios:
Publicar un comentario