miércoles, 29 de diciembre de 2010

Vectores dinámicos

 "Movimiento es el paso de la potencia al acto... "

Ahora que ya vimos como crear un vector de forma estática, vamos a crear vectores que puedan modificar su tamaño en caso de que se requiera.

De esto se encargará la clase Vector, en la cuál se guardarán datos de tipo Object.

Su constructor más simple es como el de cualquier otra clase, en este constructor el vector tendrá un tamaño para diez elementos, en caso de que se rebase el tamaño, el vector automáticamente duplicará su tamaño para poder almacenar más valores.
Vector vec=new Vector( );

Si se desea tener un tamaño especifico y además incrementarlo a nuestro antojo, el segundo constructor recibirá el tamaño inicial como primer argumento y cuánto se incrementará como segundo argumento.

Vector vec=new Vector(30,1);//Se indica un vector de 30 elementos y un incremento de uno.

También es posible sólo asignarle el tamaño, si se rebasa su tamaño entonces este se duplicará.

Vector vec=new Vector(30);

Una vez que ya sabemos como construir el vector, nos podemos ayudar de sus funciones para insertar, eliminar u obtener datos.

Para insertarle datos podemos hacerlo de dos formas:
 La primera es asignarle el valor que vamos a guardar con el método add, se guardará en un índice consecutivo:
  vec.add("Valor a guardar");
La segunda es asignarle un índice y el valor:
  vec.add(0,"Valor a guardar");//se guardará en el primer índice.

Para eliminar basta con especificar en la función remove el índice del valor a eliminar:
 vec.remove (0 );//eliminará el valor del índice 0

Para obtener datos, disponemos de dos métodos:
El primero es con get( índice ):
  vec.get( 0 );//obtener el valor del índice 0

O también con el método elementAt( índice);
vec.elementAt(0 );//obtener el valor del índice 0

Aquí les dejo un ejemplo de como llevar a cabo estas funciones:

import java.util.*; //librería para usar la clase Vector y la clase Scanner

public class VectorDinamico
{
   Vector vec;//declaramos nuestro vector
    int tam=5;//tamaño del vector
    //Lo creamos en el constructor
    public VectorDinamico()
     {
         vec=new Vector(tam,1);//Vector de 5 elementos incrementando a 1
          llenar( );//método para llenar el vector
          mostrar( );//mostraremos los datos
         eliminar ( );//eliminamos un dato
         mostrar( );//mostramos de nuevo
      }
   public void llenar( )
   {
        for(int i=0;i  < tam;i++)
         { 
                Scanner sc=new Scanner(System.in);
               System.out.println("Dame un valor para el índice: "+i );
                 vec.add( sc.next( ) );
          }//fin del ciclo
   } //fin del método llenar
  public void mostrar()
    {
       for(int i=0;i < tam;i++)
       {
          
           System.out.println("Valor del índice: "+i+" es: "+vec.get(i));
          
       }      
   }//fin del método
  public void eliminar()
   {
        int ind;//variable para almacenar el indice obtenido
           Scanner sc=new Scanner(System.in);
           System.out.println("Indice del valor a eliminar: ");
           ind=sc.nextInt();
          vec.remove(ind);
           vec.add(ind,0);//Le asignamos el valor de 0 al valor eliminado para que no genere errores
   }
   public static void main(String[ ]args)
   {
     new VectorDinamico( );  
   }   
}//fin de la clase

Les dejo el resultado ya que me lo recomendaron:

Esto es todo por el momento, espero les sirva. Saludos!

lunes, 27 de diciembre de 2010

Vectores, arrays estáticos en Java (Llenar y mostrar)

"Hay que dar para recibir..."

Ahora que ya sabemos llenar un vector estático, ahora nos dispondremos a llenarlo, un vector se maneja mediante índices los cuales nos ayudan a guardar o localizar datos específicos dentro del vector, los índices se comienzan a contar a partir de la posición 0, así pues, si un vector tiene longitud de 5 sus índices serán: 0,1,2,3,4 ; para posicionarse en un índice, basta con colocar el nombre del vector y en los corchetes el índice a solicitar.

vec[ índice];

Por ejemplo...
   System.out.println("El valor de la segunda posición del vector es: "+vec[ 1 ]);
...Para pedir un valor de cierto índice del vector:
    System.out.println("Dame el valor de la segunda posición del vector");
       vec[ 1]=leer.nextInt( );//esta función la veremos aplicada más adelante...

Sería tedioso si quisieramos llenar un vector especificandole índice por índice, o incluso caeríamos en incertudumbre si le decimos al usuario que teclee el tamaño de la matriz; los algoritmos habituales  para los vectores incluyen un ciclo que permite el llenado automatizado para el vector, eliminando así los dos problemas anteriores.

En este ejemplo presentaremos cómo podemos llenar al vector mediante un ciclo, los datos serán ingresados por teclado.

//importaremos la clase que nos permite leer desde teclado. 

import java.util.Scanner;

class miVector
 {
     int vec[ ]; //vector de tipo entero
      final int TAM=10; //tamaño de nuestro vector
      public miVector( )//constructor donde creamos nuestro vector
         {
             vec=new int[ TAM ];
          }
      public void llenar( )
      {
          //Usaremos un ciclo for para permitir el llenado, los índices serán representados por la variable i y el límite es el tamaño del vector.

  for(int i=0;i < TAM;i++)
                  {
                            //creamos el objeto para leer
                          Scanner  scan=new Scanner(System.in);
                          System.out.println("Dame un valor para posición "+i);
                          vec[ i ]=scan.nextInt( );//En esta etapa se almacena el dato en el vector según el índice.
                          //la variable i incrementará y el índice del vector cambiará.
                  }//fin del ciclo for
       }//fin del método de llenado
  
  public void mostrar( )
  { 
      //nuevamente un ciclo for
              for(int i=0;i < TAM;i++)
                  {

                          System.out.println("Valor del vector en la posición "+i+ " =  vec ["+vec[ i ]+"] " );
                  }//fin del ciclo for
  }//fin del método mostrar
public static void main(String[]args)
 {
     miVector obj=new miVector( );
    obj.llenar( );
    obj.mostrar( );
 }
 }


Con esto quiero acabar lo que fue una serie de programación básica para programar en Java. Sin embargo aún falta mucho, poco a poco iré subiendo más cosas que ayudaran en la programación, pero ya sin un orden específico.
PD: Agrego un fragmento de la salida 

Saludos!

Vectores, arrays estáticos en Java (Creación)

"Todo cabe en un jarrito, sabiéndolo acomodar..."

Muchas veces nos encontramos con la necesidad de agrupar muchos elementos en uno solo, los arrays, vectores o matrices son aquellos que nos permiten realizar tales actos.

¿Qué son los vectores?

Los Vectores no son más que un conjunto de elementos agrupados que tienen algo en común. Estos nos permiten agrupar en un sólo objeto más objetos, siempre y cuando pertenezcan al tipo del array creado.

Java nos permite dos formas de crear un vector: De forma estática y de forma dinámica.

He aquí primero de forma estática, ya que si se requiere algo dinámico es mejor usar "Listas Ligadas" (Que serán presentadas en otra entrada).


Creacion de un array:

tipo nombre_variable[ ]= new tipo[tamaño ];

Como verán es creado igual que cualquier otro objeto, se declara el tipo su nombre y se instancia, pero para que java entienda que es un vector, al nombre (antes o después) se colocan unos corchetes, y cuando se crea el objeto también se le asignan corchetes, dentro de los cuales se les asignará el tamaño, este tamaño va a ser el mismo durante su tiempo de ejecución, es por eso que se le dice estático.

Ejemplos:

En este ejemplo el vector se declara y posteriormente, en el constructor, se crea.

class miVector
{
  int vec[ ];//declaramos el objeto de tipo entero

  public miVector( )//Por lo regular los vectores se inicializan en el constructor
  {
    //creamos el objeto con un tamaño para 10 enteros, Aquí la variable no usa corchetes
     vec=new int[10];
   }
}


En este otro ejemplo se crea un vector y se construye en una sola línea

class miVector
{
public static void main(String[ ]args)
 {
   int vec[ ]=new vec[10];
 }
}
También podemos generar un vector con datos ya almacenados, los datos ya predefinidos se encontraran entre llaves y separados por comas:

Por ejemplo:
    int vector[ ]={0,1,2,3,4}// Un vector entero de 5 elementos
    String vec[ ]={"Armando","Beto","Carmen","Daniel"}// Vector cadena de 4 elementos

Por el momento mi intención era la de mostrar cómo se declara un arreglo, en la siguiente entrada mostraremos cómo posicionarse y cómo llenarlo.

sábado, 25 de diciembre de 2010

Ciclos while y do-while

Continuando con los ciclos anteriores, vamos a presentar ahora los ciclos while y do-while, veremos pues su estructura y posteriormente los explicaremos:

Ciclo While:
while( condición)
{
//instrucciones...
}

Ciclo do-while:
do
{
//instrucciones...
}while (condicion)


Ahora bien, la principal diferencia radica en que en el ciclo while la condición precedida por la palabra reservada while estará al principio del ciclo, mientras que en el do-while estará al final, esto quiere decir que en primer ciclo las instrucciones se van a ejecutar sólo si la condición es cumplida; mientras que en el segundo las instrucciones se van a ejecutar al menos una vez antes de que se cumpla la condición, ahora veamos un ejemplo:

Ejemplo con ciclo while
Supongamos que declaramos anteriormente una variable llamada cond de tipo boolean.
boolean cond=false;
while(condicion==false)
{
System.out.println("La condición se repetirá hasta que cambie el valor de la condición");
//si cambiamos el valor de la condición, el ciclo terminará
cond=true;
}

Ejemplo con ciclo do-while

Vamos a declarar una variable de tipo short.
short cond=1;
do
{
System.out.println("Incrementando variable cond hasta que sea mayor a igual a 10");
cond++;

}while(cond<10);


Algunos puntos a recalcar en los ciclos es que hay que tener cuidado en donde pongamos el ";" ya que esto nos podría traer problemas, se los digo por experiencia y sé que ustedes también lo aprenderan por experiencia.






Ciclo for en Java

Dentro de los algoritmos de los programas, se requiere repetir algunas acciones hasta que se cumplan ciertas condiciones, es por eso que los ciclos nos ayudarán a satisfacer esas necesidades.

Java nos proporciona tres ciclos principales los cuáles son:
-Ciclo For
-Ciclo While
-Ciclo Do-While

Cada uno nos ayuda dependiendo de nuestras necesidades y los explicaremos a continuación.

Ciclo for
Este ciclo se basa en repetir ciertas acciones que pueden ser condicionadas principalmente por un índice que puede incrementarse o disminuírse.
Su estructura básica es:

for(contador;condicion;incremento/decremento)


{//Instrucciones... }

Como nos hemos dado cuenta, la instrucción consiste en escribir la palabra for, seguido de sus características encerradas entre paréntesis cada argumento es separado por punto y coma. El contador es el índice que va a ser inicializado en ese momento, este puede ser de tipo numérico o caracter, Java nos permite declarar la variable en ese momento; la condición nos indicará en que momento debe terminar nuestro ciclo y el incremento/decremento nos ayudara a manejar el índice según lo que necesitemos. Por ejemplo:

for(int i=0;i<10;i++)
System.out.println("Esto se repetirá diez veces");

ó por ejemplo:

for(int i=10;i>0;i--)
System.out.println("Valor del índice disminuyendo: "+i);


Aunque este ciclo es principalmente usado de esta forma, también podemos manejarlo de otras formas, por ejemplo un for sin índices y sin condición nos va a generar un ciclo infinito (hay que tener cuidado con esto...) :

for( ; ;)
System.out.println("Ciclo infinito");

En este otro ejemplo se utiliza de un break para poder romper el ciclo:

for( ; ; )
{System.out.println("Ciclo infinito cortado");break;}


Continuaremos con los ciclos While y Do-while...

viernes, 30 de julio de 2010

Tipos de Condicionales

Dentro de un programa las condiciones para ejecutar cierto codigo es indispensable en casi cualquier programa "avanzado".
Para esto tenemos el sencillo if, su estructura es la siguiente:

if(condicion)
ejecuta el código....

Después de haber colocado la palabra "if" se coloca (obligatoriamente) entre paréntesis la cóndición a evaluar y en caso de que sea cierta, se ejecutará el codigo, desde una simple línea de código hasta un cuerpo entero.
Ejemplos:

a=10;
b=20;
if( a < b )
System.out.println("El valor de a es menor");

//Otro ejemplo con las mismas variables
if( a < b )
{
//Cuerpo del condicional
System.out.println("El valor de a es menor que el de b");
System.out.println("El valor de b es mayor que el de a");
}


Este "if" es la forma más simple y no está mal mencionar que no se coloca ";" después de la condición, de lo contrario la instrucción terminaría en ese momento y ejecutaría la linea de código condicionada.

En adición al If, existe otro complemento que nos permite ejecutar otras acciones en caso de que no se cumpla la condición. Para esto usamos la claúsula else

Ejemplo:
if( a < b )
código
else
código...

La instrucción de else también puede preceder a otro if, siempre y cuando este else pertenezca a un if.

Ejemplo:
if(a < b )
código...
else if(a==b)
código..
else if(a > b)
código...
Operador Ternario
En muchas ocasiones utilizar un if y un else nos pueden ocupar muchas líneas de código si lo que nos interesa es hacer algo más simple, por ejemplo asignar un valor a una variable.

Para este caso tenemos algo llamado el operador ternario.
Como su nombre lo indica en esta operacion intervienen tres elementos: La condición, el valor si la condición es verdadera y el valor si la condición es falsa.
Estructura:
variable= (condicion) ? valor1:valor2;

Lo que se hace es asignar un valor en la variable dependiendo de la condicion, si la condición es verdadera, tomará el primer valor (valor1); en caso contrario, tomará el valor precedido por los dos puntos (valor2). La condición es como siempre, encerrada entre paréntesis y colocando un signo de interrogación "?" para declarar que es una condición, los valores, los valores son separados con dos puntos ":" y se colocan después del signo de interrogación.

Ejemplo:
int n= (3 > 4) ? 5:4;

La operación Switch

El usar un if-else if... nos ayuda mucho en caso de que un condición no se cumpla, pero... supongamos que el usuario interactua con un programa que tiene diferentes opciones y se le pide un numero o letra para elegir alguna opción. sería complicado y tedioso hacer un else if parecido a este...
if(opcion==1)
código...
else if(opcion==2)
código...
else if...
....

Para esto contamos con la estructura switch, en esta, se colocan los posibles valores que el usuario puede teclear y si un valor no está, el switch se encarga de "llamarle la atención" al usuario.

Estructura:
switch(valor a evaluar)
{
//Cuerpo
case 1:código;break;
case 2: código;break;
case 3: código; break;
.
.
.
default: código;
}


Para empezar, en la sentencia switch se coloca entre paréntesis el valor que se desea evaluar, dependiendo del valor que tenga la variable a evaluar se activará el case correspondiente.
Un case es la opción que va a a realizar el switch en caso de que este tenga el valor evaluado. su sintaxis es simple
case 'valor': cuerpo del case...;break;

Nota: el case aceptará numeros enteros y caractéres.
Siempre que termina el cuerpo del case, se coloca la palabra reservada "break" (romper) y esta se encarga de salir del switch.

La expresión Default: es tratado como un case, este se ejecuta cuando el valor evaluado no coincidió con ninguno de los case anteriores, por regla el Default no es obligatorio, pero si se incluye dentro de switch deberá estar hasta abajo.


Estos son los Condicionales, espero les sirva, saludos.


domingo, 11 de julio de 2010

La clase Desktop de Java

Entre la gama de cosas con las que podemos hacer con Java se encuentra la de abrir ficheros o archivos con los recursos del sistema, utilizando la clase Desktop.

Por ejemplo probemos intentando abrir un archivo y visualizarlo.
*Nota: para los que han seguido mi blog y apenas comienzan a programar en Java les sugiero que por el momento no lean esta publicación hasta que estén realmente seguros de entenderle al código.
Pasos
1.Importar las librerias necesarias: Importaremos las clase File y Desktop que nos proporcionan las librerías java.io y java.awt respectivamente.
import java.awt.Desktop;
import java.io.File;




2.Crearemos la clase y escribiremos el código directamente desde el método main (sólo por practicidad).
public class claseDes

{
//creamos el método y le indicamos que capture cualquier Excepción

public static void main(String[ ]args) throws Exception

{

//aquí irá el código siguiente.

}

}

3.Ahora bien crearemos el objeto File el cual tendrá como argumento el nombre del archivo que vamos a visualizar, por ejemplo archivos de texto, de imagen, etc. El archivo debe de estar en la misma carpeta donde estamos trabajando o en su lugar escribir la direccion donde se encuentra el archivo.
File archivo=new File("archivo.pdf");

4.Después la clase Desktop nos permitirá visualizar el archivo mediante sus métodos getDesktop y el método open ( ), con esto, colocaremos como argumento el objeto File que creamos anteriormente.
Desktop.getDesktop( ).open( archivo);
5.Hasta aquí terminaría el método main.

El código quedaría de la siguiente manera:

import java.awt.Desktop;
import java.io.File;

public class claseDes
{
public static void main(String[]args) throws Exception

{
File arch = new File("archivo.pdf");
Desktop.getDesktop().open(arch);
}
}


Este método puede ahorrarnos muchos líos y nos facilita mucho las cosas para llamar a archivos y visualizarlos según la plataforma donde trabajemos, por ejemplo un archivo con extension .txt nos podría abrirlo con Bloc de notas en Windows y en Linux por ejemplo con el Gedit.

sábado, 10 de julio de 2010

Definiciones de un método en Java

Bueno para adentrarnos en el mundo de la POO, especialmente en la programación en java, vamos a explicar qué es un método, cómo crearlo y como invocarlo.

¿Qué es un método? Un método generalmente es un conjunto o bloque de instrucciones o bien estos métodos pueden estar vacíos, los métodos pertenecen a las clases, de hecho todas las clases contienen al menos un método este método lo conocemos como el constructor de la clase.


¿Para qué nos sirven los métodos?-Los métodos son subrutinas o subprogramas que van a ser tratadas como las acciones que puede realizar un objeto o clase, en mi opinion un método facilita mucho las cosas de ver cómo funciona un programa ayudandonos a identificar más rápido un problema.

En su sintaxis más simple un método es creado de la siguiente forma
public void metodo1( )
{
Cuerpo del método, el cuerpo del método se delimita entre llaves
}
Lo que hacemos en este método es declarar que es un método público( public) es decir que puede ser accedido y usado por los objetos, que no retorna ningun valor (void, veremos como retornar valores) y por último los paréntesis vacíos indican que no tiene argumentos, los argumentos son valores los cuales son usados dentro del método.

¿Qué tipos de métodos existen?. Al menos hay cuatro tipos de métodos, estos son:
  1. Constructor: Este método es el predefinido en cualquier clase, aunque no lo creemos, al crear el objeto se llama al constructor, este se encarga de inicializar todo lo que exista en la clase. Clase obj=new Clase( );
  2. De Instancia: Aquellos que se obtienen de la clase al momento de crearla. obj.metodo1( );
  3. Estáticos: Aquellos que no necesitan crear un objeto, basta llamar a la clase que lo contiene Clase.metodo1( );. Pero si se llaman desde el main de la clase donde se creó, basta con escribir el nombre del método seguido de parentesis metodo1( );
  4. Main: este método es el que detecta java para ejecutar nuestra aplicación public static void main(String[]args).
¿Cuáles son sus características?: Los métodos tienen ciertas características como:
  1. Colocar argumentos los argumentos son valores que se colocan entre los paréntesis del método para que este trabaje con ellos, dentro de ellos se declaran los tipos de datos a recibir seguido de una variable asignada a ese tipo de dato, para asignar varios argumentos se coloca una coma "," entre cada argumento, .
public void metodo1(String cad, int x, int y)

{

código....

}




obj.metodo1("hola",23,50);

2.No devolver valores: Si no desea asignar valores y simplemente ejecutar un método la palabra reservada void nos indicará que el método no devolverá valor alguno


public void metodo( )
{
código....
}



3.Retorno de valores
El retorno o devolución de valores es un tema interesante, un método nos puede ayudar por ejemplo para hacer una operación y el resultado asignarlo en una variable.
Para que un método nos devuelva un valor, debemos de colocar el tipo de dato que nos debe de regresar.

public int metodo( )

{
return 3;

}
int variable=obj.metodo( );

De este método por el momento nos vamos a centrar en tres cosas:
  1. Primero, al colocarle el tipo de dato al método después de la palabra public le indicamos al compilador que el método debe de devolvernos un valor de tipo entero.
  2. Segundo, para devolver un tipo de dato utilizaremos la palabra return seguido del valor a devolver (en este caso devolveremos el número tres), podemos retornar variables o valores siempre y cuando sean iguales al tipo de dato que el método tenga asignado a.
  3. Tercero, no está por demás decir que el valor que retorne el método debe ser asignado de preferencia a una variable del mismo tipo del valor a obtener.

Cabe aclarar que en el constructor de las clases y en el método main nunca se retornará ningún valor.



Para finalizar los métodos son un punto importante en la POO como vimos hay formas muy variadas de crear un metodo, desde uno sencillo hasta uno complejo, lo importante es que los sepamos usar correctamente.

Saludos.

lunes, 5 de julio de 2010

Segundo Programa usando la condicion if

Este programa es más sencillo que el anterior, aqui mi objetivo es:
• Enseñar a concatenar cadenas y mostrarlas en pantalla
• Asignar valores a variables
• Introducir nuestra primer expresión condicional ( if ).
Bien primero antes que nada nuestra expresión condicional será usando la sentencia "if" su forma de declararla es la siguiente:
if (Condición)
código a ejecutar...

Si la condicion es verdadera o cierta, se ejecuta el código escrito, si fuera falso simplemente ignoraría el código declarado.

Pero para que se entienda mejor comenzamos a crear nuestra clase:
class Programa2
{
código, aquí vamos a insertar lo que les voy a explicar...
}



1. El primer paso es declarar nuestras variables, vamos a crear una de tipo entero y otra variable de tipo cadena:
int numero; //variable de tipo entero

String cadena;//variable de tipo numérico


2. Ahora crearemos un método llamado "asignacion" (ya sabemos qué es un método, ya lo he explicado en entradas anteriores) donde asignaremos y mostraremos los valores de las variables.
public void asignacion( )
{
cuerpo del método, aquí ahora irá lo siguiente...
}


4.Bueno ahora asignaremos valores a las variables y las mostraremos en pantalla.
numero=12;
cadena="Los valores de tipo cadena van entre comillas";


5.Y mostramos en pantalla con la clase System.out.println( ), para concatenar (juntar) una variable se utiliza el operador +.
System.out.println("La variable cadena contiene el valor de "+numero);
System.out.println("Esto contiene la variable cadena "+cadena);



Observa que dentro de la clase de System.out.println dentro de los paréntesis se escribe el texto (entre comillas, debido a que lo que se mostrará entre comillas será una cadena de caracteres) y la concatenación de variables puede permite mostrar un valor en pantalla.

6.Ahora bien, vamos a crear otro método llamado condicion en el cual usaremos nuestro condición if y mostraremos un resultado si la expresion fue verdadera.
public void condicion( )
{
cuerpo del método, el código siguiente irá aquí...
}


7. Procederemos a declarar nuestra condición:
if (numero < 28)


Si se dan cuenta en la expresión "if (numero<28) " no lleva el ";", pero ¿Porqué?.
Sencillo nosotros le indicamos que aún no acaba la instrucción puesto que falta escribir una sentencia en caso de que nuestra sentencia se cumpla.

Recordemos que el código de la condición no se ejecuta en caso de que fuera falso o no se cumpla la condición, pero...
...¿Y si nosotros le colocamos el ";" en la expresión?, es decir:
if( number < 28 );
más código...

Pues la instrucción se dividiría, es decir, primero correría la sentencia (if...)y ldespués a instrucción (System...) sin importar si la condicion fuera falsa ya que el ";" en el if indicaría que finaliza la condición y declarando que son dos instrucciones separadas, menciono esto porque no se imaginan la cantidad de cosas que suceden cuando ya por instinto uno coloca ";" después de una instrucción sea cual sea.



8.Por último lo llamaremos desde el método principal
public static void main(String[ ]args)
{
Programa2 obj= new Programa2( );
obj.asignacion( );//Se asigna
obj.condicion( );//
}

El código queda de esta forma:

class Programa2
{
int numero;//Variable de tipo entero

String cadena;//Variable de tipo cadena

public void asignacion()
{
numero=14;
cadena="Los valores de tipo cadena se escriben entre comillas";
System.out.println("El número fue "+numero);
System.out.println("Esto contiene la variable cadena "+cadena);
}
public void condicion( )
{
if(numero<28)
System.out.println("El numero de la variable cadena es menor a 28");


}
public static void main(String[]args)
{
Programa2 obj=new Programa2();
obj.asignacion();
obj.condicion();

}
}

domingo, 4 de julio de 2010

Comentarios en java

Este es sólo un pequeño repaso en java acerca de cómo poner comentarios en un programa java.

Los comentarios es texto que es colocado en el código de un programa y que se ignora al momento de compilar, es decir no tiene una función o no sirve para ejecutar alguna acción, sin embargo este texto sirve para ayudar al programador a entender el código o definir algunas cosas dentro del código.

Existen dos tipos de comentarios: De una sola línea y de varias linea.

Los comentarios de una sola línea son precedidos por dos barras diagonales "//" seguido del comentario a escribir.

Los comentarios de varias líneas son precedidos por una barra diagonal "/*"y un asterisco y estos terminan colocando un asterisco y una diagonal "*/".

Ejemplo:

//Este es un comentario de una sola línea

/*Este comentario puede abarcar varias líneas
1 Una línea
2 Dos líneas
3 Tres líneas
El comentario termina aquí .*/

Saludos.

sábado, 3 de julio de 2010

Linea de comandos-Introducción



Alguna vez te has preguntado -¿Para qué es la línea de comandos?- o quiza has dicho -¿Línea de comandos?, bah la línea de comandos es lo más viejo y lo más pasado de moda, para qué complicarme la vida con algo como instrucciones si los botoncitos llamativos hacen todo-

Te pregunto ¿Estás seguro?.

Bueno, si sigues pensando así es hora de que te quite ese pensamiento y cambies de parecer.

¿Qué es la línea de comandos? La línea de comandos es una herramienta o programa que mediante instrucciones de texto puede dar órdenes (principalmente al Sistema Operativo) a los programas informáticos.

Un ejemplo claro de su uso es el la forma de compilación y ejecucion de los programas java que ya había explicado anteriormente.

Abarcando un poco de historia, la línea de comandos nació precisamente por la carencia o inexistencia de lo que era una interfaz gráfica(es decir no existían botoncitos, pestañas o ventanitas que nos permitiera ver nuestros programas o acceder a ellos).

¿Ok, pero cual es la importancia realmente de la linea de comandos? Bueno pues en pocas palabras y apara animar un poco tu curiosidad, la línea de comandos te puede ofrecer más que la interfaz gráfica te brinda.

La línea de comandos me atrevo a decirlo es la forma más directa de actuar con un programa.
Una ventaja que tiene es que puede consumir menos recursos que la interfaz gráfica.

Acciones como eliminar un archivo, crear una carpeta, hasta ejecutar un programa con ciertos parámetros, etc. Son cosas que desde la línea de comandos puedes hacer.

Bueno una vez aclarado esto, voy a enseñarte las cosas que puedes hacer mediante la linea de comandos de Windows (CMD), como es por ejemplo usar para quitar virus de memorias USB.

viernes, 2 de julio de 2010

Nuestro Primer programa en Java, leer datos

Bien en este programa voy a incluir muchas cosas que realmente tendrían que estar escritos por separado, pero es hora de iniciar la programacion.
Si han buscado en otros lados, el programa más sencillo sería uno donde muestre en pantalla: "Hola Mundo".

En este programa vamos a hacer algo un poco más avanzado pero que sea fácil de entender.
También importaremos una paqueteria que viene en el JDK (ya explicado en otra entrada, pero les recuerdo que es el JDK es el kit de herramientas que proporciona java para programar) que nos permitirá leos por teclado. Cualquier libreria o paqueteria se coloca al principio del programa

Así que abriremos un editor de texto (como un block de notas en windows o en Linux el gedit) y nuestro archivo será guardado con el nombre de la clase y con la extensión .Java (rograma1.JAVA )
He aquí el código, más abajo está la explicación detallada:


Importamos la librería para leer datos.
import java.io.*;
Ahora creamos el cuerpo de la clase, su cuerpo se delimita entre llaves { } y con la palabra clave class seguido del nombre de la clase:
class Programa1
{
Cuerpo de la clase aqui se escribirá el código escrito a continuación.
}

Declaramos una variable para almacenar datos de tipo String.
String cadena;


Ahora crearemos un método (también ya explicado anteriormente en otra publicacion) llamado capturar :

public void capturar()

{
Cuerpo del método, aquí se escribirá el código siguiente
}

Y mandamos a mostrar dos mensajes:
System.out.println("Bienvenido a Programar en Java");

System.out.print("Por favor escribe una palabra ");

Procedemos a pedir datos desde teclado utilizando un capturador de excepciones(esto se hace utilizando un 'try { } catch { }'no te preocupes lo explicaremos después), esto se hace aun dentro del método:

try

{
Cuerpo del try, aquí irá el código siguiente.
}

Clase para leer datos desde teclado, asignamos la clase a una variable del mismo tipo.

BufferedReader linea=new BufferedReader(new InputStreamReader(System.in) );

Y mediante un método de la clase anterior (readLine( ) ahora usado por la variable 'linea') asignamos el valor que obtenga del teclado a la variable 'cadena'.

cadena=linea.readLine();

Y lo mostramos

System.out.println("Escribiste la palabra "+cadena);

Ahora cerramos el try y creamos el 'catch(nombreDeLaExcepcion variable)', un 'catch' se coloca después del cuerpo del try y sirve para controlar una situación en caso de un error al momento de capturar datos.
catch(Exception e)

{


Cuerpo del catch. aquí irá el código siguiente.

}
En caso de que se presente un error al momento de escribir datos mostramos un mensaje.
System.out.println("Hubo un Error");

El cuerpo de nuestro método 'capturar( )' ha terminado.


Por último, el siguiente método es el que necesita java para ejecutar nuestro programa. Es importante que tenga esta estructura porque java lo identifica mediante el nombre 'main' indicando que es el que va a ejecutar.

public static void main(String[]args)

{
Cuerpo del método main.
}


En este método lo que haremos es definir una variable llamada 'objeto' que es de tipo "Programa1" y a esta variable se le asignará el objeto que en realidad es la clase con la que se define el tipo de dato de la variable 'objeto'. El objeto (en este caso "Programa1") se creará con el operador new colocando el nombre de la clase y seguido de unos paréntesis.


Después de haber asignado el objeto a la variable, esta podrá usar los métodos del objeto, en este caso el método capturar( ).

public static void main(String[]args)

{


Programa1 objeto=new Programa1();

objeto.capturar();


}

Y hasta aquí termina el cuerpo de la clase y del método.

Ahora compilamos y ejecutamos.

Cosas a tener en cuenta:

  • Antes que otra cosa, cualquier instruccion termina con ";".
  • Al crear la clase DEBE TENER EL MISMO NOMBRE DEL ARCHIVO donde está siendo escrito (Ejemplo, si se llama tu archivo "programa.java", tu clase se debe de llamar "class programa.
  • El método main es esencial si la aplicación se quiere correr, en este método pondremos todo lo que queremos que aparezca al momento de ejecutarse.
  • Después de haber colocado el operador new, el nombre de la clase con paréntesis indica que es el constructor de la clase, el constructor es un método que existe en la clase por defecto (aunque el programador tambien lo puede modificar)

El código queda de la siguiente forma

import java.io.*;

class Programa1

{

String cadena;

public void capturar()

{

System.out.println("Bienvenido a Programar en Java");


System.out.print("Por favor escribe una palabra ");


try

{

BufferedReader linea=new BufferedReader(new InputStreamReader(System.in) );


cadena=linea.readLine();



System.out.println("Escribiste la palabra "+cadena);

}
catch(Exception e)


{


System.out.println("Hubo un Error");


}


}






public static void main(String[]args)

{


Programa1 objeto=new Programa1();




objeto.capturar();



}



}


Bueno, eso es todo, si tienen dudas con gusto las responderé y espero que esto les haya ayudado.












Principios de la Programación, la POO

Esta entrada la voy a escribir para entrar de lleno a la programación sin que existan dudas acerca de los conceptos manejados en los programas.

La POO: La programación orientada a objetos es un paradigma o modelo a seguir para crear programas y aplicaciones.

De forma resumida la POO abarca los conceptos de:

  • La Clase: Es la definición de un Objeto, es decir que es lo que contiene.
  • Herencia: Significa usar los metodos o atributos de otra clase.
  • Método:Es el "verbo" o la acción que posee un Objeto (por ejemplo: un objeto Perro, el perro 'Ladra') en resumen es lo que puede hacer un Objeto, de lo que es capaz.
  • Evento: Reacciones que se generan al suceder alguna accion, como por ejemplo la solicitud de datos de un usuario.
  • Mensaje:Se utiliza para mandar a llamar a un método de una clase.
  • Propiedad o atributo: Son las características de un Objeto.


Existen otros conceptos sobre la POO pero por el momento estos serán los más importantes para llevar a cabo nuestro primer programa.

jueves, 1 de julio de 2010

Compilar y ejecutar un programa de Java

Bueno, la siguiente parte es compilar un programa y ejecutarlo.

Algunos puntos a tomar en cuenta:

¿Qué se compila?- Lo que vamos a compilar es el archivo java, aquel que tiene nuestro código.

¿Cuál es el resultado?-Después de compilar el archivo java se genera un archivo con extensión ".class" el cual es el que va a ejecutar el código que contiene.

Compilar y ejecutar en Windows
Para esta parte ya se habrá instalado el jdk y el jre, así que la forma más directa de compilar un archivo en java es desde la línea de comandos (Ctrl+r--->Ejecutar--->Escribir "CMD" sin comillas) y una vez dentro escribir:

c:\> javac nombredelprograma.java

Ahora bien acá existen dos cosas importantes:
  1. La primera es que esta aplicacion "javac" proviene del directorio donde está instalado el JDK (Algo similar a C:\java\jdk\bin), para vamos a introducir el siguiente comando:
set path=%path%;c:\programFiles\java\*jdk\bin

Lo que se hace es que la variable llamada Path (Una variable de la Línea de comandos) almacenará la dirección de donde se ubica la utilidad "javac", separado por un ";" se coloca el directorio donde se encuentran las herramientas para compilacion y ejecución.

*En el comando anterior, del lado de la direccion se encuentra un asterisco en el directorio jdk, ya que el nombre puede variar según la versión instalada al igual que el lugar de instalación.

Ejemplo C:\Program Files\Java\jdk1.6.0_03\bin


2.El segundo aspecto es el de posicionarse en el directorio del archivo donde se encuentra
nuestro programa creado, por el momento les sugiero que los archivos los guarden en la unidad "C:\" es decir el directorio raíz. (En ventana de comandos escriban "cd \" sin comillas, ya en otra ocasión les explicaré comandos CMD).


Bien, una vez ya compilado el archivo .java nos generará el .class que vamos a ejecutar. Hecho lo anterior y sin salirse aún de la línea de comandos vamos a introducir el siguiente comando:

java miarchivo


Con esto se manda a ejecutar el archivo .class(OJO PORQUE AL ESCRIBIR EL NOMBRE DEL ARCHIVO ESTE NO DEBE LLEVAR LA EXTENSIÓN .CLASS).

En conclusion los comandos a ejecutar son:

  1. c:\> set path=%path%;c:\programFiles\java\*jdk\bin
  2. c:\> javac nombredelprograma.java
  3. c:\> java miarchivo
Recuerden posicionarse en le directorio donde se encuentra el archivo.

En Ubuntu:

Lo escribo brevemente, abrir una terminal y:

  1. Posicionarse en el directorio donde se ubica nuestro archivo.
  2. Escribir javac archivo.java
  3. Escribir java archivoCompilado (de nuevo sin la extension .class).



Programación en java....

Para iniciar la programación en java necesitas:

  1. Un kit de herramientas para java en pocas palabras un (JDK) ,este contiene las herramientas, librerias y para compilar y desarrollar programas en el lenguaje de java.
  2. Para ejecutar las aplicaciones (por ejemplo applets) necesitas el JRE.
  3. Un Entorno de programación (desde un simple bloc de notas hasta un potente entorno de desarrollador como NetBeans o algún otro).
  4. Para no llegar a una confusión prematura les dejo este enlace donde se muestran cuatro opciones para empezar a programar segun sus necesidades. yo te recomendaría iniciar desde lo más básico que sería descargar la primera opcion ("el JDK y el JRE") una vez que ya los hayas descargado instalado (y si tienes dudas de instalación o problemas consulta las instrucciones que se encuentran en la misma página, el problema es que están en inglés). ahora lo unico que queda es empezar a programar.
Notas: La tercera opción de "NetBeans+jdk" también es válida y de hecho es la mejor, siempre y cuando ya tengas conocimientos avanzados de programación y que espero que en este blog los puedas adquirir.

En Linux, particularmente en Ubuntu, las últimas actualizaciones ya traen consigo el JDK Y JRE y no hay necesidad de instalacion , si estoy equivocado entonces lo puedes instalar mediante terminal, el comando sería:
sudo apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre
Y si deseas instalar NetBeans en Ubuntu lo puedes descargar del "Centro de Software de Ubuntu" del menú Aplicaciones, o bien lo puedes instalar mediante terminal, no me meteré a dar comandos para su instalación posiblemente lo haga después ya que por lo mientras esto es un poco adelantado.

Saludos.


Bienvenida

Saludos a todos los que se toman la molestia de pasar por este blog.

El objetivo principal de este blog es enseñar todo lo que se pueda acerca de este universo informático.

Poco a poco iré poniendo tutoriales sobre programación, redes, seguridad y otras cosas relacionadas a la informática.