miércoles, 30 de mayo de 2012

Variables, Constantes y Tipos de Datos


Variables
Una variable es el nombre de una localidad o dirección interna de memoria, es el espacio de memoria en donde se almacenan los datos.
Las variables contienen valores que se pueden modificar, estas representan un valor con un determinado tipo de dato. Por ejemplo:
String nombre = “Omar”;
La variable es nombre con tipo de dato String, siendo su valor Omar.

Constantes
Una variable es el nombre de una localidad o dirección interna de memoria, es el espacio de memoria en donde se almacenan información que no puede ser modificado.
Se utiliza la palabra clave final para indicar que la variable no le sea permitida su modificación. Por ejemplo:
final float pi = 3.14.159;
La constante es pi con tipo de dato float no modificable (final) asociado el valor 3.14.159.

Palabras claves.
Las siguientes son las palabras clave que están definidas en Java y que no se pueden utilizar como variables:



abstract   continue     for          new         switch
boolean    default      goto         null        synchronized
break      do if        package      this        byte        
double     implements   private      threadsafe  byvalue    
else       import       protected    throw       case       
extends    instanceof   public       transient   catch
false      int          return       true        char       
final      interface    short        try         class      
finally    long         static       void        const       
float      native       super        while



Tipos de datos
Un tipo de dato determina el rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.
a.       Simples
Los tipos de datos simples representan los tipos de datos primitivos de Java, se usan para representar:
1.       Números enteros con signo.
2.       Números con partes fraccionarias. Hay dos tipos de coma flotante: float y double. El primero reserva almacenamiento para un número de precisión simple de 4 bytes y el segundo lo hace para un número de precisión doble de 8 bytes.
3.       Variables que presenten dos estados, que serán representados por los valores true y false. Representan valores bi-estado, provenientes del denominado álgebra de Boole.
4.       Almacenar caracteres Unicode simples. Debido a que el conjunto de caracteres Unicode se compone de valores de 16 bits, el tipo de datos char se almacena en un entero sin signo de 16 bits.
Keyword
Description
Size/Format
Enteros
“byte”
Entero tipo Byte
8-bit two's complement
“short”
Entero lorgo
16-bit two's complement
“int”
Entero
32-bit two's complement
“long”
Entero Largo
64-bit two's complement
Números reales
“float”
Decimal simple precision
32-bit IEEE 754
“double”
Decimal doble precision
64-bit IEEE 754
Otros tipos
“char”
Un simple caracter
16-bit Unicode character
“boolean”
Valor booleano
true or false

b.      Cadenas

Las cadenas se representar por un conjunto de caracteres, en Java las cadenas son Objeto de la clase String.
Los strings u objetos de la clase String se pueden crear explícitamente o implícitamente. Para crear un string implícitamente basta poner una cadena de caracteres entre comillas dobles. Por ejemplo,

System.out.println("El primer programa");    // Implícito
String str=new String("El primer programa"); // Explícito

jueves, 24 de mayo de 2012


¿Qué es Java?
Es un lenguaje de programación orientado a objetos de propósito general, y como tal es válido para realizar todo tipo de aplicaciones profesionales, es un lenguaje computacional  multiplataforma que permite escribir  programas que son ejecutados en el ordenador sin  necesidad de ser instalados previamente. Esta es la razón por la que se utilizan en aplicaciones web.
La filosofía que sigue Java consta de los siguientes objetivos principales:
  • -          Metodología de la Programación Orientada a Objetos.
  • -          Ejecución de un programa en múltiples sistemas operativos.
  • -          Soporte para trabajar en red.
  • -          Diseñado para ejecutar código en sistemas remotos de forma seguridad.
  • -          Fácil de usar y agregar funcionalidad de otros lenguajes orientados a objetos.
Para poder cumplir con la ejecución de código remoto y el soporte de red, se debe recurrir a extensiones como CORBA,  OSGi, entre otros.

Programación Orientada a Objetos
La programación orientada a objetos es una evolución lógica de la programación estructurada, en la que el concepto de variables locales a un procedimiento o función, que no son accesibles a otros procedimientos y funciones, se hace extensible a los propios subprogramas que acceden a estas variables. Pero la programación orientada a objetos va mucho más allá. En realidad, cambia la concepción de la metodología de diseño de los programas.
 
En la programación orientada a objetos, se definen objetos que conforman una aplicación. Estos objetos están formados por una serie de características y operaciones que se pueden realizar sobre los mismos. Estos objetos no están aislados en la aplicación, sino que se comunican entre ellos.
Un objeto es una persona, animal o cosa. Se distingue de otros objetos por tener unas determinadas características y “sirve” para algo, o dicho de otra forma, se pueden realizar distintas operaciones con/sobre ese objeto.
Evidentemente, cada objeto puede definirse en función de multitud de características y se pueden realizar innumerables operaciones sobre él. Ya en términos de programación, será misión del programador determinar qué características y que operaciones interesa mantener sobre un objeto. Por ejemplo, sobre el objeto casa puede no ser necesario conocer su ubicación y por lo tanto, dichas características no formarán parte del objeto definido por el programador. Lo mismo podría decirse sobre las operaciones.
En terminología de programación orientada a objetos, a las características del objeto se les denomina ATRIBUTOS y a las operaciones MÉTODOS. Cada uno de estos métodos es un procedimiento o una función perteneciente a un objeto
En la POO hay que distinguir entre dos conceptos íntimamente ligados, la CLASE y el OBJETO.
De forma análoga a cómo se definen las variables en un lenguaje de programación, cuando se declara un objeto hay que definir el tipo de objeto al que pertenece. Este tipo es la CLASE.
 
Declaración de variable
Clase
Objeto
int
Numero;

A lo largo del documento iremos formulando las clases Calzado e Inventario para ejemplificar a groso modo el desarrollo de una pequeña aplicación que lleve el inventario de calzados.
Si declaramos:                                   Calzado cCalzado; 
Estamos indicando que tenemos un  objeto llamado cCalzado de la clase Calzado. El objeto como lo habíamos mencionado debe contener ciertos atributos como pueden ser: color, tipo de marerial, tipo de calzado, medidas, etc., además de que tiene una serie de métodos como puede ser apartarCalzado(), venderCalzado(), etc.
Existen tres propiedades que cumple Java para ser considerado Orientado a Objetos.
  • -          Encapsulamiento,
  • -          Herencia y
  • -          Polimorfismo.
Encapsulamiento
El encapsulamiento consiste en la propiedad que tienen los objetos de ocultar sus atributos, e incluso los métodos, a otras partes del programa u otros objetos.
La forma natural de construir una clase es la de definir una serie de atributos que, en general, no son accesibles fuera del mismo objeto, sino que únicamente pueden modificarse a través de los métodos que son definidos como accesibles desde el exterior de esa clase.

Herencia
Es una de las principales ventajas de la POO. Esta propiedad permite definir clases descendientes de otras, de forma que la nueva clase (la clase descendiente) hereda de la clase antecesora todos sus ATRIBUTOS y MÉTODOS. La nueva clase puede definir nuevos atributos y métodos o incluso puede redefinir atributos y métodos ya existentes.
Esta propiedad permite la reutilización del código, siendo muy fácil aprovechar el código de clases ya existentes, modificándolas mínimamente para adaptarlas a las nuevas especificaciones.

Polimorfismo
El polimorfismo permite que un mismo mensaje enviado a objetos de clases distintas haga que estos se comporten también de forma distinta (objetos distintos pueden tener métodos con el mismo nombre o incluso un mismo objeto puede tener nombres de métodos idénticos pero con distintos parámetros).
Hoy es el inicio de este blog, espero y les sea de su agrado así como de ayuda a los que empiezan en el arte de ser Software Developer. En este blog se mostrarán los primeros pasos de Java en conjunción con PostgreSQL como Administrador de Base de Datos, se empezará con desde lo básico hasta llegar algo más complejo con framework e incluso arquitecturas en  n capas. Así que empiece la nueva aventura :).