Archive for Java

Que son los metodos y como utilizarlos en java

Java como todo lenguaje de programación orientado a objetos utiliza los llamados metodos. Acontinuación veremos como se crea un metodo y como se utilizan.
Se podria decir que existen 2 grandes tipos de metodos, el primer tipo de metodo son metodos que realizan procesos, puedes realizar cualquier operación con ellos, sin embargo el proposito es manipular variables existentes. El segundo tipo de metodos son los que realizan un proceso o calculo, y calculan una variable especifica, un ejemplo podria ser un metodo para obtener el valor de una multiplicación.

Estructura de un metodo

Los metodos en java pueden tener parametros, es decir,  que un metodo puede utilizar variables predefinidas para ser utilizadas en sus procesos, Veamos un ejemplo de como hacer un metodo en el siguiente ejemplo

En este ejemplo vemos un programa normal en el cual se ejecuta un ciclo while que imprime numeros del 0 al 7, pero ¿es posible hacerlo utilizando un metodo?

 

package ciclos;

/**
*
* @author xymind
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

int x=0;
while(x!=7)
{
System.out.println("X vale: "+x);
x++;

}
}

}

 

Ahora utilizaremos este mismo programa pero el ciclo se ejecutara en un metodo:

package ciclos;

/**
*
* @author xymind
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

iniciarCiclo();//aqui estamos ejecutando el metodo escrito en
//la parte de abajo, se puede utilizar mas de 1 vez
}

/*Comienza el metodo
Este metodo no regresa valores, es un metodo que unicamente
realiza un procedimiento, por lo que se declara como  "void" seguido del 
nombre que tendra el metodo*/
public void iniciarCiclo(){

int x=0;
while(x!=7)
{
System.out.println("X vale: "+x);
x++;

}
}

}

Los dos anteriores programas hacen exactamente lo mismo a diferencia de que el segundo programa esta utilizando un metodo.

En este ultimo ejemplo se mostrara un metodo que regrese un valor, estos metodos se declaran diferente y siempre deben terminar
con la palabra “return var;” donde “var” es una variable cualquiera del mismo tipo del metodo. Ejemplo:

Declaramos el metodo:
..//

public int obtenerValor(){
int x=10;
return x;
}

//..
Notese que se utiliza “int” en lugar de “void”, lo cual indica que se regresara una variable del tipo integer o numerico, por lo que dentro del metodo se declara int x=10; que es precisamente un valor numerico, y se regresa el valor de x, es decir 10. Finalmente el metodo puede ser usado para obtener el valor de 10 del siguiente modo.

//..codigo…//

int variable;

variable = obtenerValor(); //estamos diciendo que variable vale ahora 10.

//..mas codigo…//

Utilizando parametros

Se puede utilizar parametros en un metodo. En el siguiente ejemplo se utilizara un parametro el cual es un valor que se puede asignar al metodo para realizar operaciones, este puede ser variable y se obtendran diferentes resultados dependiendo del valor asignado.

Declaramos el metodo:
..//

public int obtenerValor(int parametro){
//notese que dentro de los parentesis se declara una variable
//esta variable es el parametro 
int x=parametro/2;
//utilizamos una variable x para calcular el parametro dividido entre 2
return x;//se obtiene finalmente la variable "parametro" dividida entre 2
}

//..vemos que este metodo utiliza un parametro, y el resultado del mismo es este parametro pero dividido entre 2, si el parametro varia, entonces vemos que el resultado tambien.

su implementación en codigo seria algo asi:

//..codigo…//

int variable;

variable = obtenerValor(10); //debido a que el parametro es 10, la variable valdra 5
//pues el metodo regresa la division del parametro entre 2.

//..mas codigo…//

Esta fue una breve introducción acerca de como se utilizan los metodos en java. Se publicara un programa que utiliza metodos en la sección de codigo fuente, revisa esta sección para descargar ejemplos y practicar, pues en cuanto a programación se trata solo se puede aprender practicando. Asi mismo no olvides revisar nuestros video tutoriales para ver ejecución de programas en tiempo real.

Utilidades:Capturando datos del teclado

Para capturar datos del teclado primero que nada es necesario importar la libreria “java.io”, esta libreria maneja entrada y salida de datos, y por tanto en ella encontraremos las herramientas para poder capturar datos del teclado.

Se necesitan crear 2 objetos de clases distintas para poder capturar datos del teclado. La primera clase es “InputStreamReader” la cual abre un flujo de entrada de datos en la computadora, y la segunda clase es “BufferedReader” que es un “buffer” de lectura (un buffer puede ser considerado como un espacio reservado en memoria para guardar datos) que es en donde se va a guardar la variable leida desde el teclado a travez del objeto de “InputStreamReader”.

Ahora a la practica, para leer un dato del teclado se hace de la siguiente forma:

 

InputStreamReader in=new InputStreamReader(System.in); //se crea el flujo de datos de entrada
BufferedReader buffer =new BufferedReader(in); //se crea el buffer donde se guardara la variable leida
try{
String a=buffer.readLine(); //se declara que la variable String "a" obtendra el valor de lo que se lea del teclado
}catch(Exception e){};

 

Es importante recordar que es necesario utilizar el try y el catch, debido a que es comun que haya errores de lectura al leer una variable del teclado. Por ejemplo, si tu quieres guardar una variable numerica leida desde el teclado, y escribes por error una letra, entonces habra un error. En caso de haber errores se ejecutara el codigo dentro de un “catch”

para guardar una variable numerica correctamente desde el teclado puedes utilizar el siguiente codigo:

 

InputStreamReader in=new InputStreamReader(System.in); //se crea el flujo de datos de entrada
BufferedReader buffer =new BufferedReader(in); //se crea el buffer donde se guardara la variable leida
try{
int numero=Integer.parseString(buffer.readLine()); //se convierte la variable leida en numerica
}catch(Exception e){};

 

Recordemos que al usar “buffer.readLine()” se esta obteniendo una variable de tipo “String” es decir que es como una cadena de caracteres, y si es necesario leer por ejemplo variables numericas, se debe de transformar en este tipo de variables utilizando los metodos correspondientes.

Busca pronto un programa ejemplo de captura de datos del teclado en la sección de codigo fuente. Esperamos te sea de utilidad.

programacion orientada a objetos en java(POO)

Introducción Teorica

Comprender el concepto de programación orientada a objetos puede ser un poco complicado al principio, pero la realidad esque al pensar en POO(programación orientada a objetos), los programas pueden ser inclusive mas faciles y sencillo de comprender. Pero entonces, ¿Como funciona la programación orientada a objetos?, para explicar su funcionamiento, haremos una comparación entre la programación estructurada tradicional y la POO, pero primero mira este video para darte una pequeña idea de como funcionan las clases y objetos que utilizamos en POO.

Video introduccion a POO

para descargar archivo .java usado en el ejemplo presiona aqui>>> descargar.

Ahora para un ejemplo un poco mas complejo…

Si tomaramos como ejemplo un programa en el cual  se simula como cae un pelota en programacion estructurada y en poo los algoritmos serian los siguientes:
En programación estructurada tradicional, un lenguaje de programación funcionaria de la siguiente manera:
1.Tomar pelota
2.Dejar caer pelota
3.la pelota cae al suelo
4.La pelota rebota
5.La pelota llega a un punto maximo de altura
6.vuelve a caer la pelota
7.La pelota permanece en el suelo

En cambio si usamos POO la forma de pensar del programa puede cambiar y ser de la siguiente manera:
Existe un objeto llamado “pelota”
1.La pelota tiene como propiedad una altura de la cual puede caer
2. La pelota tiene una fuerza de rebote
3. La pelota es de color x

Tal cual como se muestra en el video, en POO a un objeto (pelota o bola) se le pueden asignar valores para cada propiedad que posee, también en caso de crear mas de un objeto del mismo tipo, estas propiedades pueden ser del mismo tipo, pero con diferentes valores. Como ejemplo podríamos tener incluso 2 pelotas pero cada una con diferente color y diferente tamaño, fuerza de rebote, etc.

Pero entonces como seria la programación. Para esto en POO existen las llamadas “clases” y “metodos”, una clase se podria definir como el “cuerpo” de un objeto, por ejemplo: podriamos crear una clase llamada “pelota” y a la misma añadirle diferentes propiedades o bien “metodos”.
Un metodo son basicamente instrucciones en codigo dentro de una clase, por ejemplo, si la clase pelota tiene propiedades como el radio de la pelota, se puede crear un metodo para obtener ese valor, o bién un metodo para cambiar ese valor.  Estos conceptos pueden sonar un poco dificiles pero a medida que practiques haciendo programas podras ir entendiendolo mas facilmente.

Propiedades de la POO

Las caracteristicas de la programación orientada a objetos son las siguientes:

1.Herencia: Se refiere a que una clase(objeto) puede tener clases hijas, que son principalmente clases derivadas, por ejemplo: Si se tiene la clase padre “Perro” sus clases hijas pueden ser clases  que se refieran a razas especificas de perros, como “Labrador,Salchicha,Poodle,Doberman”, cada una de estas clases hijas tendra diferencias en sus propiedades, pero todas comparten el hecho de que siguen siendo perros.
2.Polimorfismo: Se refiere a que se pueden utilizar variables u objetos con el mismo nombre, sin embargo sus funciones cambian dependiendo del contexto en que fueron creados, el polimorfismo suele ser complicado de entender, pero lo explicaremos mas a fondo en un proximo articulo o video.
3.Encapcsulación: Significa que se puede encapsular “codigo”, por ejemplo, si se tiene un objeto llamado perro, el perro puede tener un metodo para correr, por lo tanto si se desea ejecutar la acción Perro.correr(); se puede hacer sin necesidad de conocer el codigo que esta implicito dentro de la instrucción “correr”, esto es muy util para reutilización de codigo, y para hacer la programación mas facil.
4.Abstracción: Se relaciona con utilizar propiedades de objetos sin necesidad de crear un objeto en si, esto quiere decir si existe el objeto “matematicas”, no es necesario crear el objeto, para utilizar sus metodos como pueden ser sumar, restar, o multiplicar.

Esta es una breve introducción acerca de la programación orientada a objetos, para comprender mejor a que se refiere, publicaremos videos mas detallados para que puedas comprender como programar en POO. Durante los proximos dias colocaremos los enlaces en este articulo.

Esperamos esta lección haya sido de utilidad.
Por favor vota o comenta en este articulo.

Uso de:Switch y case

Hola en esta ocasión te mostrare un poco acerca de como se utiliza el switch y el case. Puedes hacer de cuenta que el switch y el case se utiliza basicamente como un “Menu”, sin embargo es necesario tener en cuenta que esta instrucción solo acepta valores numericos, de manera que tendras que utilizar variables de tipo  Integer(Int) o Caracter(Char). Su estructura en pseudo codigo es la siguiente:

switch(VariableNumerica) /*dentro de los parentesis va la variable numerica que determina la opcion de menu*/

{

case 1: //si la "VariableNumerica" vale "1" se ejecutara esta opcion
{
/*...tus instrucciones aqui....*/
break; /*Terminar con break*/
}
case 2: //si la "VariableNumerica" vale "2" se ejecutara esta opcion
{/*..mas instrucciones...*/
break;
}
default:  /*el default es opcional y se ejecuta cuando el valor que recibe el switch no esta incluido dentro de las opciones programadas con "case"*/
{
break;
}

}

Esta es mas o menos la estructura del switch y case, es importante recordar que el no utilizar un break hara que se sigan ejecutando las opciones restantes de case, por ejemplo, si eliges la opcion “1” y no hay un break, se ejecutaran la opcion “1” y “2” para el ejemplo de codigo anterior. El default no es obligatorio pero es importante tener una instrucción por default en caso de que al introducirce una variable para lo que no existe una opcion en el menu(case) entonces se podra ejecutar este codigo.

Puedes encontrar un programa en el cual se utiliza el case en la sección de codigos fuente, o accede directamente en este enlace.