20 noviembre, 2010

Lectura de Datos por Consola (System)

Lectura de Datos por Consola en Java (System)
Para esta ocasión utilizaremos una versión más sencilla que todas las anteriores, y será una función propia del lenguaje Java, así como utilizamos System.out, para imprimir en Pantalla, ahora utilizaremos System.in para ingresar datos en nuestro programa.

Es algo similar a C++ en este caso, para los que recuerden o hayan visto algo de este lenguaje, las sentencias de entrada y salida que utilizaba la librería iostream.h eran cin y cout respectivamente, pero en Java tenemos la ventaja de que no necesitamos de ninguna librería y directamente podremos utilizar ambas propiedades de System (in & out).

Lectura de Datos por Consola (Scanner)

Lectura de Datos por Consola en Java (Scanner)

Ésta es otra forma para leer datos en Java, puede ser más fácil de entender que la que utiliza el InputStreamReader y el BufferedReader, así que para utilizar el Scanner de java necesitamos primero agregar el siguiente import a nuestro programa:
import java.util.Scanner;

También necesitaremos distintas variables, una variable String, una int, y una float en donde almacenaremos el contenido leído:
String cadena="";
int entero;
float flotante;

19 noviembre, 2010

Lectura de Datos por Consola

Lectura de Datos por Consola en Java

Las entradas y salidas (E/S) en Java utilizan streams conocidos como secuencias o flujos. Un flujo representa una corriente de datos con (al menos) un escritor y un lector. Por ejemplo, cuando leemos del teclado estamos usando una corriente de entrada donde el programa es el lector.

Si deseamos que el usuario ingrese datos (números o cadenas de caracteres) en una consola de Java es necesario utilizar la Clase InputStreamReader, donde utilizaremos el Objeto System.in, este método solo lee bytes, lo que significa que si ingresamos un caracter cualquiera, nos devolverá un número correspondiente a los bytes del caracter ingresado.

Creación de un Objeto de Tipo InputStreamReader:
InputStreamReader leer = new InputStreamReader (System.in);

11 octubre, 2010

Uso de RadioButtons en Java

Utilización de RadioButton
Conocido también como botón de opción o botón de radio es un tipo de widget utilizado en interfaces gráficas de usuario que permite elegir una sola opción de un conjunto predeterminado de estas.
Los botones de opción (botones de radio) se llaman así en referencia a los botones físicos que se usan en los radios para seleccionar estaciones preajustadas - cuando se presionaba uno de los botones, otro de los botones saltaba.

Es posible que, inicialmente, ninguno de los botones de opción en un grupo esté seleccionado. Este estado no puede restaurarse interactuando con el widget del botón de opción (pero es posible a través de otros elementos de la interfaz de usuario).

19 septiembre, 2010

Manejo del Formato de Impresión en Consola

Alinear Texto en Java
Así como en C++, se puede alinear el texto al momento de imprimir una tabla de datos obtenidos, Java tiene la misma función implementada de una manera mucho más simple y sin la necesidad de importar alguna librería extraña, pudiendo controlar la cantidad de espacios que queremos separar entre cada una de las columnas a imprimir, aquí la instrucción:

18 septiembre, 2010

Uso del Formateador Decimal

Uso de la Clase DecimalFormat

Muchas veces necesitamos imprimir una variable doble que almacenamos o que obtuvimos por medio de algún cálculo matemático, pero nos vemos con el problema de que nos salen unos 20 decimales, así que para solucionar este problema utilizaremos la Clase Decimal Format, primero veamos algunos conceptos acerca de esta clase:

DecimalFormat: Es una clase de Java que nos permite mostrar los números en la pantalla (sea en consola o en un JtextFiled) con un formato deseado, es decir, limitar el número de decimales, si usaremos punto o coma, etc, incluso podemos tomar los valores desde un JTextField y reconstruir el número, ahora el ejemplo:

15 septiembre, 2010

Descarga JDK - JRE

JDK & JRE For Java Developers
El JDK (Java Development Kit), es un paquete para los Desarrolladores de Software, que se debe instalar antes de utilizar cualquier IDE (Integrated Development Environment), tales como Eclipe, o NetBeans, así que sin más a continuación el link Oficial de Oracle:

14 septiembre, 2010

Bibliotecas Gráficas de Java

Bibliotecas Gráficas de Java

Swing es una biblioteca gráfica de java que contiene interfaces gráficas para el usuario como son barras de menús, botones desplegables y tablas.Las componentes Swing se identifican porque pertenecen al paquete javax.swing.

Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos.

Contenedores en Java

Contenedores en Java

Container es una clase abstracta derivada de Component, que representa a cualquier componente que pueda contener otros componentes. 

Una interface gráfica está construida en base a elementos gráficos básicos, los Componentes. Ejemplos de estos Componentes son los botones, barras de desplazamiento, etiquetas, listas, cajas de selección o campos de texto. Los Componentes permiten al usuario interactuar con la aplicación y proporcionar información desde el programa al usuario sobre el estado del programa. 

17 junio, 2010

Métodos de Ordenamiento

Los 3 Métodos de Ordenamiento más populares

Hoy les comparto los métodos de ordenamiento de datos más populares que hay, unos más eficientes que otros pero todos conocidos, y de una vez les mostraré un poco de C# para que se den cuenta de la similitud con Java, los ejemplos en código están en ambos lenguajes.

1) Bubble Sort (Ordenamiento Burbuja):
Es el algoritmo de ordenamiento más sencillo de todos, conocido también como método del intercambio directo, el funcionamiento se basa en la revisión de cada elemento de la lista que va a ser ordenada con el elemento siguiente, intercambiando sus posiciones si están en el orden equivocado, para esto se requieren varias revisiones hasta que ya no se necesiten más intercambios, lo que indica que la lista ha sido ordenada.
El origen del nombre de este algoritmo proviene de la forma con la que suben por la lista los elementos durante los intercambios, tal y como si fueran "burbujas", el algoritmo fundamental de este método es la simple comparación de elementos siendo así el más fácil de implementar.

Codificación en Java:

29 abril, 2010

Sobrecarga de Métodos

Sobrecarga de Métodos en Java
La Sobrecarga de Métodos en Java (Overloading), es una característica que permite la creación de varios métodos, los cuales tendrán el mismo nombre y serán válidos solamente si cumplen con las siguientes condiciones:
  1. Tener diferente tipo de dato los parámetros.
  2. Tener diferente número de parámetros.
  3. Nunca se considera sobrecarga de métodos si solamente cambia el valor de retorno del método.
Un ejemplo muy simple de recordar es cuando declaramos el constructor, recuerdan que solamente uno podía ir vacío?, mientras que el resto de los constructores que definamos deberán tener de forma obligatoria parámetros, y cumplir con las condiciones anteriormente mencionadas.
Ejemplo de Sobrecarga en Constructores:

Manejo de Caracteres

Manejo de Caracteres en Java

El manejo de caracteres es un conjunto de métodos y sentencias del Lenguaje Java que nos permite operar(reconocer, transformar, verificar, comparar, etc.) con los caracteres de una cadena de texto, ciertos parámetros que señalamos, de todos, los más comunes e importantes los listo a continuación:

String toLowerCase();
Nos permite transformar todos los caracteres de una cadena en Minúsculas.

Ejm:
String sCadena = "CADENA DE PRUEBA GL";
System.out.println(sCadena.toLowerCase()); //cadena de prueba gl

13 abril, 2010

Qué es un Paquete en Java?

Java Package
Package:  Como hemos visto para todo proyecto en Java tenemos que crear un paquete, pero qué es realidad este paquete?, para qué sirve?, y físicamente en el computador dónde se nos genera?
Bueno técnicamente un paquete es un espacio de nombres "namespace" que organiza un conjunto de clases e interfaces relacionadas. Físicamente en el equipo se crean carpetas y estos son los paquetes con los que trabajamos en Java. Como el software escrito en el lenguaje de programación Java puede estar compuesta de cientos o miles de clases individuales, tiene sentido mantener las cosas organizadas, colocando relacionados clases e interfaces en paquetes.

Creación de un Nuevo Paquete en NetBeans:

12 abril, 2010

Interfaces en Java

Interfaces en Java
Una interfaz en java es un conjunto de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de todos los métodos de la interfaz.

Ventajas al utilizar interfaces:
  • Se organiza la programación.
  • Obligar a que ciertas clases utilicen los mismos métodos (nombres y parámetros).
  • Establecer relaciones entre clases que no estén relacionadas.
Cómo usarlas?
Java utiliza dos palabras reservadas para trabajar con interfaces que son interface e implements.
Para declarar una interfaz se debe seguir el siguiente orden:
modificador_acceso interface NombreInterfaz 

{
    código de interfaz
}

09 abril, 2010

Thread Garbage Collector

Thread Garbage Collector

Thread = Hilo de Ejecución

En C++ necesitamos declarar explícitamente tanto el constructor como el destructor, el primero nos sirve para inicializar los valores de los atributos de forma implícita y el segundo servía para limpiar la memoria y borrar los objetos que habíamos creado.
En Java es distinto, el constructor sigue implementándose igual pero ya no se implementa un destructor, por qué?, pues porque existe garbage collector (un Reciclador de Memoria Dinámica que recoge automáticamente todos los objetos que se salen del alcance ) gracias a este no es necesario preocuparse de liberar memoria, el reciclador se encarga de ello y como es un thread de baja prioridad, cuando entra en acción, permite liberar bloques de memoria muy grandes, lo que reduce la fragmentación de la memoria.

Arquitectura Swing

Arquitectura Swing

Swing es una plataforma independiente, Modelo-Vista-Controlador GUI marco para Java. De ello se desprende una sola rosca modelo de programación, y posee los siguientes rasgos:

Independencia de la Plataforma: Swing es una plataforma independiente, tanto en términos de su expresión (Java) y su aplicación (la prestación universal de no-nativos de widgets).

Extensible: Swing es una arquitectura altamente particionada, que permite "enchufar" varias implementaciones de interfaces personalizadas preestablecidas: Los usuarios pueden proporcionar su propia implementación de estos componentes para reemplazar las implementaciones predeterminadas. 

Personalizable: Por lo general, los usuarios personalizan un componente Swing estándar (como un JTable) mediante la asignación de Fronteras específicas como colores, fondos, opacidades, etc, como las propiedades de ese componente.

Qué es Swing?

Qué es Swing?

Swing es un toolkit para Java . Es parte de Sun Microsystems ' Java Foundation Classes (JFC) - un API para proporcionar una interfaz gráfica de usuario (GUI) para programas de Java.

Swing fue desarrollado para proporcionar un sofisticado conjunto más del GUI componentes que el anterior Window Toolkit Resumen.
Incluye widgets para interfaz gráfica de usuario tales como cajas de texto, botones, desplegables y tablas. 

Algunas de sus ventajas son: 
• El diseño en Java puro posee menos limitaciones de plataforma. 
• El desarrollo de componentes Swing es más activo. 
• Los componentes de Swing soportan más características. 

08 abril, 2010

Herencia

Básicamente la Herencia en Java nos permite definir una clase tomando como base a otra clase ya existente. Esto es una de las bases de la reutilización de código, en lugar de copiar y pegar.
La Clase Padre es conocida también como Superclase, mientras que la Clase Hija es conocida como Subclase.
Java no soporta la herencia múltiple, es como en la vida real pues no podemos tener dos padres o dos madres, pero compensa esto implementando interfaces que emulan la herencia múltiple. 

La importancia de la herencia radica en que la clase hija o subclase puede adicionar características y comportamientos, y también redefinir o sobreescribir los métodos heredados de la clase padre.
Por eso una subclase es mas especifica que su superclase y representa un grupo mas pequeño objetos porque tienen caracteristicas mas detalladas que los elementos de la superclase.

23 marzo, 2010

Modificador Static

El método static sirve para definir clases de las cuales queremos llamarlas sin crear objetos, también otro uso es compartir el valor de una variable miembro entre objetos de una misma clase. Si declaramos un atributo miembro de una clase, todos los objetos que declaremos basándonos en esa clase compartiran el valor de aquellos atributos a los que se les haya aplicado el modificador static, y se podrá modificar el valor de este desde todas. 

A los métodos estáticos se los debe llamar de la siguiente forma:

ClassName.nombreDelMetodo(argumentos)

Un caso en el que nos podría ser muy util este modificador, es en una clase que nos diga la cantidad de objetos que se han creado basandose en ella. Podemos meter una linea de codigo en el constructor que incremente la variable contador con el modificador static, y asi cada vez que se declare un objeto el contador se incrementará. Desde cualquier objeto podremos consultar el valor del contador.

Sentencias Try & Catch

Sentencias Try & Catch
Estas sentencias son utilizadas para la captura de excepciones, es decir cuando el programa falle por alguna causa, esta sentencia evita que el programa se cierre sin previo aviso y lo que hace es saltarse el proceso en donde se produjo el error, entonces para manejar las excepciones se debe utilizar el try & catch de la siguiente forma:

try
{
//Aquí debe ir nuestro programa (la parte donde se realice cierto proceso)
}

catch(nombreDeLaExcepcion obj)
{
//Acción a seguir en caso de que ocurra un Error
}

WainHouse Research - Audio Conferencing

Transformaciones en las telecomunicaciones:
Las telecomunicaciones han mejorado durante el transcurso del tiempo, pero a mi parecer esta forma de comunicación en la que el usuario maneja una interfaz gráfica, facilita a muchas personas la comunicación entre sí, pero a la vez a las personas que no están asociadas con estas tecnologías, más bien sería un problema para ellos, es decir si no saben manejar un computador.

Audio conferencias por Internet, cómo funcionan:
Primero que nada se debe conocer este tipo de tecnología y como manejarla, al menos los aspectos básicos.
Es decir la Empresa que está infundiendo este tipo de comunicación debe incluir cierto tipo de Programa (Software), a través del cual sus usuarios puedan comunicarse de una manera más sencilla y sin tanto trámite, o así mismo puede ser en una plataforma virtual, como una página web interactiva con el usuario, como en skype o en meebo.com. Skype es un software para realizar llamadas, chatear, y tener video conferencias por Internet, claro para esto se necesita una buena conexión de Internet; y meebo una web messenger que fue hecha con lenguajes como PHP y ASP, lo que permite que la pagina sea interactiva para el usuario.

22 marzo, 2010

Setters & Getters

Setters & Getters
Los Setters & Getters son métodos de acceso lo que indica que son siempre declarados públicos, y nos sirven para dos cosas:

Setters: Del Inglés Set, que significa establecer, pues nos sirve para asignar un valor inicial a un atributo, pero de forma explícita, además el Setter nunca retorna nada (Siempre es void), y solo nos permite dar acceso público a ciertos atributos que deseemos el usuario pueda modificar.

Getters: Del Inglés Get, que significa obtener, pues nos sirve para obtener (recuperar o acceder) el valor ya asignado a un atributo y utilizarlo para cierto método.

Entonces veamos en un ejemplo, si tenemos una Clase de nombre Estudiante, cómo serían sus Setters & sus Getters?

Constructor y Destructor

¿Qué es un Constructor?
El objetivo de un constructor es el de inicializar un objeto cuando éste es creado. Asignaremos los valores iniciales así como los procesos que ésta clase deba realizar.
Se utiliza para crear tablas de métodos virtuales y poder así desarrollar el polimorfismo, una de las herramientas de la programación orientada a objetos (POO). Al utilizar un constructor, el compilador determina cual de los objetos va a responder al mensaje (virtual) que hemos creado. Tiene un tipo de acceso, un nombre y un paréntesis.

En java es un método especial dentro de una clase, que se llama automáticamente cada vez que se crea un objeto de esa clase.
Posee el mismo nombre de la clase a la cual pertenece y no puede regresar ningún valor (ni siquiera se puede especificar la palabra reservada void). Por ejemplo si añadiéramos a la clase Suma un constructor, tendríamos que llamarlo también Suma. Cuando en una clase no se escribe propiamente un constructor, java asume uno por defecto (que es el Constructor vacío, es decir sin parámetros).

Elementos de un Programa en Java y Normas Básicas

Clase: Es el Conjunto o Colección de Objetos que tienen similares atributos y métodos, utilizados para resolver problemas del mundo real, con este paradigma (P.O.O.) se nos facilita la reutilización del código.
La P.O.O. encapsula los atributos y métodos de los objetos en una entidad lógica llamada clase.
Por tanto los atributos y métodos están estrictamente ligados, es decir no puede existir el uno sin el otro.
Atributos: Son las características que tienen los objetos dentro de nuestro programa, estos atributos solamente pueden ser modificados mediante los métodos.
Modificadores de Acceso:Los modificadores de acceso son palabras clave que especifican la accesibilidad declarada de un miembro o un tipo. Esta sección presenta los cuatro modificadores de acceso:

JVM - JDK - JRE - Conceptos Fundamentales de la P.O.O.

¿Qué partes constituyen la JVM?
Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java.

La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final.

09 marzo, 2010

Conceptos Básicos de Programación en Java

¿Qué es Programación Orientada a Objetos (P.O.O.) y que ventajas tiene?

Es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas de ordenador. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento.
La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada sólo se escriben funciones que procesan datos. Los programadores que emplean POO, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

¿Qué es un Objeto en Programación?

Un objeto es en realidad un conjunto de métodos (funciones y procedimientos), todos ellos relacionados con un determinado concepto del mundo real. Los objetos son entidades que combinan estado (atributo), comportamiento (método) e identidad: El estado está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).