miércoles, 5 de noviembre de 2014

Primeros pasos de Java

PRIMEROS PASOS CON JAVA

Veremos antes algunos conceptos importantes para poder asimilar la programación con JAVA, a
decir:

Tipos de Datos Primitivos

Los tipos de datos son conjuntos de elementos que cumplen con unas características bien
definidas, de manera que es posible determinar si un elemento dado pertenece a él o no. En java
se habla de dos grandes grupos de tipos de datos: los primitivos y los referenciados.
Los tipos de datos primitivos son comunes a casi todos los lenguajes de programación, y tienen
como característica principal el que sus instancias son valores, además no se puede definir un
nuevo tipo de dato, se debe trabajar con los que ofrece java.
Los tipos referenciados agrupan clases, interfaces y arreglos; a sus instancias se les denomina
objetos. Los lenguajes de programación orientados a objetos, ofrecen un grupo grande de estos
tipos, al cual se denomina API
1
, pero, a diferencia de los tipos de datos básicos, el programador
puede definir nuevos tipos de estos datos. En este curso se trabajará con dos tipos referenciados,
los arreglos y los que se definen a través de clases.
Un tipo de dato primitivo es la definición de un grupo de valores y de las operaciones que se que
existen para trabajar con ellos. Como ejemplo de tipos de datos se pueden citar, en matemáticas,
los números naturales y los números enteros. Se habla de los números naturales, como los
números enteros mayores o iguales a cero; y se sabe que para ellos están definidas las
operaciones suma y multiplicación sin ninguna restricción, además está la resta, siempre y cuando
el minuendo sea mayor que el sustraendo, y la división siempre y cuando el divisor sea diferente
de 0 y se pueda encontrar otro número natural tal que al multiplicar este número por el divisor se
obtenga el dividendo. También existen los números enteros, que se extienden desde el infinito
negativo hasta el infinito positivo; para estos números también se han definido operaciones, entre
ellas la suma, la resta y la multiplicación sin ninguna restricción, pero la división sigue teniendo las
mismas restricciones que para los números naturales.
Ya en los capítulos anteriores hemos hecho el enunciado y explicación sobre los tipos de datos.
Sería de provecho revisar los capítulos.

PALABRAS RESERVADAS

Las palabras reservadas o palabras claves son identificadores predefinidos en un lenguaje de
programación, es decir, ya tienen un significado especial para el lenguaje. Por lo tanto, estas
palabras no pueden emplearse como identificadores definidos por el usuario.
Java maneja las siguientes palabras reservadas:
                                                         
1
 http://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones

Es importante resaltar que true, false y null no son palabras reservada, sino que son valores. Es
por esto que no pueden ser utilizados como identificadores, ni pueden ser redefinidos.

  COMENTARIOS

Un comentario es una anotación que se quiere hacer para explicar algo referente al código que se
está produciendo. Lo que se incluya como comentario no será tenido en cuenta por el compilador.
Se acostumbra incluir información que pueda ayudar a comprender el código elaborado.
En java existen tres tipos de comentarios:

o El comentario que ocupa una sola línea:
// esto se considera un comentario de una sola línea.

o El comentario de varias línea:
/ * esto se considera un comentario de una varias líneas.
No importa que se haya cambiado de línea continua el comentario. */
o El comentario que debe ser tenido en cuenta por el documentador de java:
/* * esto, también, se considera un comentario de una varias líneas.
Cuando se pida a la herramienta java.doc que genere la documentación correspondiente a la clase que
contenga este comentario, él será incluido. */

 CLASES

En java la organización de las clases es similar a la de las carpetas que se emplean en el sistema
operativo Windows, sólo que en java se denominan “paquetes”. Igual que en el sistema operativo
una carpeta puede contener otra carpeta, en java un paquete puede estar ubicado dentro de otro
paquete, sin que esto genere ningún inconveniente.
Los paquetes básicos de java están en un gran paquete denominado java y dentro de este hay
otros, el primero es el paquete lang. Este es el paquete que contiene las clases básicas para el
funcionamiento del lenguaje; tanto así que sin él no podría ejecutarse ningún tipo de código, y
contiene un gran número de clases pero, en la parte inicial del libro, se trabajará únicamente con
String, y las clases Wrapper, y en la parte final del mismo (en el capítulo de Conceptos Básicos de
Programación Orientada a Objetos), se incluirá la clase Object.
java.lang.String
Cada objeto, o instancia, de esta clase contiene una secuencia de caracteres pertenecientes a la
tabla Unicode. Esta secuencia puede tener la longitud que se requiera, es decir puede comprender
desde una letra hasta un párrafo.
Una de las mayores fortalezas de esta clase, son los métodos o servicios que ofrece a los
programadores, y que resuelven operaciones básicas de trabajo con cadenas de caracteres. Estos
métodos se presentarán más adelante.

Clases Wrappers

Se trata de un grupo de clases que permiten “envolver” un tipo de dato básico en un objeto, para
algún tratamiento particular. Existe una clase para cada tipo de dato básico, como se muestra a
continuación:



Clases que se encuentran en java.util

En este paquete se encuentran las clases que los desarrolladores de java, han considerado que
facilitan el trabajo de otros programadores, es decir este paquete contiene las clases que
“facilitan” la vida al programador. En este capítulo sólo se revisarán las clases Scanner, Random,
ArrayList y Arrays.
Dado que las clases que están en este paquete no conforman la parte básica de java, siempre que
se quiere usar alguna clase contenida en él, se debe “avisar” al compilador de java, para lo cual se
debe usar una línea de código, antes de definir la clase, como se muestra a continuación:

import java.util.*; // Esta es la línea que se debe incluir.
public class Trabajo { // Esta es la línea en la cual se empieza a definir la clase.

Scanner
Cada objeto de esta clase está en capacidad de ofrecer una serie de servicios que permiten
obtener información de diversos medios como archivos o el teclado.
Como tema de este libro sólo se estudiará la forma de obtener datos a través del  teclado.

Random
Prof. Carlos A. Arroyo
Cada objeto de esta clase está en capacidad de generar valores numéricos en forma seudo
aleatoria. Entre más grande sea el rango entre el cual pueden variar estos valores, mayor
probabilidad hay de obtener valores diversos; puesto que, cuando se t
pequeños, el objeto tiende a regresar el mismo valor o valores muy próximos.

ArrayList
Cada objeto de esta clase permite guardar una colección de referencias a objetos de
cualquier clase definida. Su comportamiento es similar al de un ar
gran ventaja de que su tamaño puede crecer en forma ilimitada, a diferencia de los arreglos
que tienen un tamaño que no puede ser modificado.
Dado que un objeto de esta clase sólo contiene referencias a objetos, no a valores, la
wrappers son muy útiles si se requiere guardar una cantidad no definida de valores.

Arrays.
Los arreglos, como se mencionó previamente, son tipos de datos referenciados,
ofrecen ningún servicio especial, de hecho para conseguir su longitud
un atributo (length), no a un método. Sin embargo, existe una
presta una serie de servicios para facilitar el trabajo con


¿QUÉ ES UN PROYECTO JAVA?

Un proyecto Java podemos considerarlo como una serie de carpetas ordenadas y
organizadas de acuerdo con
proyecto suele constar de archivos .java, archivos .class y documentación.
Los archivos .java contienen el código fuente (entendible por humanos) que en un
momento dado podemos modificar con un editor de textos y suelen encontrarse en
carpetas de nombre src (source). Los archivos .class contienen el bytecode (no entendible por
humanos pero sí por la máquina virtual Java) y suelen encontrarse en c
(binary).
La organización de los archivos en carpetas y la presencia de otros adicionales depende del
entorno de desarrollo que utilicemos. Además, Java introduce un esqu
de paquetes (packages) que comentaremos más adelante.
Para trabajar con proyectos en la mayoría de entornos, incluido
debemos tenerlos en un soporte grabable accesible (por ejemplo en una carpeta de nuest
duro). No es válido por tanto un cd, dvd, unidad remota restringida o carpeta del disco duro con
restricciones. El motivo es que los entornos de desarrollo trabajan grabando información en la
carpeta del proyecto que se encuentre activo. Por tanto
 Curso De Java Orientado a Android4
Cada objeto de esta clase está en capacidad de generar valores numéricos en forma seudo
aleatoria. Entre más grande sea el rango entre el cual pueden variar estos valores, mayor
probabilidad hay de obtener valores diversos; puesto que, cuando se t
pequeños, el objeto tiende a regresar el mismo valor o valores muy próximos.
Cada objeto de esta clase permite guardar una colección de referencias a objetos de
cualquier clase definida. Su comportamiento es similar al de un arreglo, sin embargo tiene la
gran ventaja de que su tamaño puede crecer en forma ilimitada, a diferencia de los arreglos
que tienen un tamaño que no puede ser modificado.
Dado que un objeto de esta clase sólo contiene referencias a objetos, no a valores, la
son muy útiles si se requiere guardar una cantidad no definida de valores.
Los arreglos, como se mencionó previamente, son tipos de datos referenciados,
ofrecen ningún servicio especial, de hecho para conseguir su longitud
), no a un método. Sin embargo, existe una clase: java.util.Arrays
presta una serie de servicios para facilitar el trabajo con los arreglos.

¿QUÉ ES UN PROYECTO JAVA? - ORGANIZACIÓN DE ARCHIVOS .JAVA, .CLASS Y OTROS

Un proyecto Java podemos considerarlo como una serie de carpetas ordenadas y
organizadas de acuerdo con una lógica para mantener organizado el código
proyecto suele constar de archivos .java, archivos .class y documentación.
archivos .java contienen el código fuente (entendible por humanos) que en un
momento dado podemos modificar con un editor de textos y suelen encontrarse en
carpetas de nombre src (source). Los archivos .class contienen el bytecode (no entendible por
s pero sí por la máquina virtual Java) y suelen encontrarse en carpetas de nombre bin
La organización de los archivos en carpetas y la presencia de otros adicionales depende del
entorno de desarrollo que utilicemos. Además, Java introduce un esquema organizativo a través
de paquetes (packages) que comentaremos más adelante.
Para trabajar con proyectos en la mayoría de entornos, incluido NetBeans, BlueJ o Eclipse
debemos tenerlos en un soporte grabable accesible (por ejemplo en una carpeta de nuest
duro). No es válido por tanto un cd, dvd, unidad remota restringida o carpeta del disco duro con
restricciones. El motivo es que los entornos de desarrollo trabajan grabando información en la
carpeta del proyecto que se encuentre activo. Por tanto un soporte no escribible no es adecuado.
Curso De Java Orientado a Android
Cada objeto de esta clase está en capacidad de generar valores numéricos en forma seudo
aleatoria. Entre más grande sea el rango entre el cual pueden variar estos valores, mayor
probabilidad hay de obtener valores diversos; puesto que, cuando se trabaja con rangos
pequeños, el objeto tiende a regresar el mismo valor o valores muy próximos.
Cada objeto de esta clase permite guardar una colección de referencias a objetos de
reglo, sin embargo tiene la
gran ventaja de que su tamaño puede crecer en forma ilimitada, a diferencia de los arreglos
Dado que un objeto de esta clase sólo contiene referencias a objetos, no a valores, las clases
son muy útiles si se requiere guardar una cantidad no definida de valores.
Los arreglos, como se mencionó previamente, son tipos de datos referenciados, que no
ofrecen ningún servicio especial, de hecho para conseguir su longitud se hace referencia a
: java.util.Arrays, que

CLASS Y OTROS

Un proyecto Java podemos considerarlo como una serie de carpetas ordenadas y
una lógica para mantener organizado el código. Un
archivos .java contienen el código fuente (entendible por humanos) que en un
momento dado podemos modificar con un editor de textos y suelen encontrarse en
carpetas de nombre src (source). Los archivos .class contienen el bytecode (no entendible por
arpetas de nombre bin
La organización de los archivos en carpetas y la presencia de otros adicionales depende del
ema organizativo a través
NetBeans, BlueJ o Eclipse
debemos tenerlos en un soporte grabable accesible (por ejemplo en una carpeta de nuestro disco
duro). No es válido por tanto un cd, dvd, unidad remota restringida o carpeta del disco duro con
restricciones. El motivo es que los entornos de desarrollo trabajan grabando información en la
un soporte no escribible no es adecuado.
Vamos a crear nuestro primer proyecto. Para ello conviene crear primero una carpeta donde ir
almacenando los proyectos que vayamos creando. Hazlo en la ruta que te parezca más adecuada.
Nosotros usaremos C:/ProyectosCursoJava Pulsamos en el menú File -> New -> JavaProject y
buscamos la carpeta donde vamos a guardar el proyecto.
Donde pone “Nombre de archivo” escribiremos ProyectoP1 o cualquier otro nombre que nos
parezca adecuado.
Creación de una class
Podemos hacer: File -> New class o bien clic en el ícono marcado en
la figura de la derecha:
Ahora bien, crearemos el clásico “Hola Mundo”, pero esta vez será
“Hola Java, este es nuestro primer proyecto”
Entonces dentro de nuestra IDE pondremos lo siguiente (en el recuadro verde marcado debajo:
public class Ejemplo {

public static void main(String[] args) {
  // Mi primer programa Java

 }
}
System.out.println("Hola Java, este es nuestro primer proyecto");
Esto hará que en nuestra pantalla una vez que compilemos y ejecutemos, se imprima el texto
encerrado entre comillas.
¿Qué hemos hecho en este proceso? Al crear la clase, hemos creado un archivo denominado
Ejemplo.java. Al pulsar sobre “Compile”, hemos transformado el código que contenía ese archivo
en bytecode y hemos creado el archivo Ejemplo.class. ¿Pero qué código hemos compilado si no
hemos escrito nada? Efectivamente, no podríamos compilar algo vacío. La explicación radica en
que cuando se crea una clase vacía Eclipse la crea con un código por defecto, digamos que un
ejemplo muy básico de código que ya es compilable. Vamos a comprobar lo que hemos dicho
ejecutando el ejemplo. Para ello necesitamos ir al icono   o bien en el menú Run-> Run.
Asimismo podemos utilizar las Teclas: Ctrl + F11.
Si no ha habido ningún error de sintaxis o de semántica, en la parte de abajo (Console) debería
arrojarnos el siguiente resultado:
6

Bueno, al parecer resulta bastante sencillo programar en Java, pero esto es el comienzo y hay
muchas cosas que ver y realizar.

 ESTRUCTURA DE UNA CLASE

Ahora analizaremos parte por parte que hemos escrito en el ejemplo anterior y qué significan
todos esos códigos:
public class Ejemplo {

Con esto hemos declarado la clase Ejemplo y le decimos a nuestro Eclipse que nuestra class se
llama Ejemplo.
Otra cosa importante para recordar es que la clase casi siempre coincide con el nombre del
archivo con que se guarda la clase, esto lo realizamos para evitar errores.
Podemos observar la importancia en el programa de las llaves  { }  pueden ser 2, 3 ó más y
tiene una de apertura y su correspondiente de clausura. Siempre hay que
respetarlas. Lo que hay dentro de una llave { } pertenece a un mismo grupo, que
en programación se denominan bloques.
Ahora vamos con nuestra segunda línea de código:
 public static void main(String[] args) {
Significa la declaración de main  que es el punto de entrada para la mayoría de programas de Java.
De hecho que hay excepciones como cuando programamos Applets  (Programas que forman parte
de una página Web) o Servlets (los que forman parte de los Servidores Java).
En la siguiente línea podemos observar los comentarios, los cuales nos sirven para ir
documentando bloques o partes de nuestro programa, a manera de una bitácora.
// Mi primer programa Java

Con esto tendríamos la estructura básica de una clase, nada complicado por ahora, sin embargo
como hemos podido observar existen ciertas reglas que hay que seguirlas a rajatabla para
evitarnos los errores sintácticos, que más adelante iremos detallando.

 VARIABLES

Son lugares de almacenamiento que pueden contener información de distintos tipos, los cuales
pueden ser números, decimales, textos, un valor verdadero o falso, cadena de caracteres, etc. Las
variables son claves en la creación de cualquier programa no importando el lenguaje en que
estemos trabajando.
Además los valores que contienen pueden ir modificándose a lo largo de la construcción del
mismo.
A continuación vemos una declaración de una variable con el tipo de dato String, lo que podemos
observar es que la variable es saludo, seguido de un texto o una cadena de caracteres que
queremos el programa muestre.
public class saludos {

public static void main(String[] args) {

  String saludo = "Bienvenido al curso de JAVA";

 }
}
El punto y coma (;) que está al final sirve para mostrar cuando finalicemos la línea de declaración o
bien, a partir de dónde debería empezar la siguiente.
Ahora bien, cuando ejecutamos el programa (Run) veremos que en la consola no nos aparece
absolutamente nada (tampoco muestra signos de errores). Lo que significa es que le hemos
ordenado a la computadora que nos guarde la variable, pero no que nos muestre la cadena de
caracteres o texto.
Para mostrar los contenidos de una variable, necesitaremos de una línea de código ya usada
anteriormente:

  String saludo = "Bienvenido al curso de JAVA";
  System.out.println (saludo);
 }

}
Ya no hemos metido toda la cadena de caracteres, en vez de ella, hemos escrito la variable
declarada antes, saludo. Cuando ejecutemos el código, el programa nos imprime el texto.

 ERRORES SINTACTICOS

A la hora de programar en java, es común que nos ocurran ciertos errores, ya sea de tipografía o
de estructura, es importante entonces ir mirando a la izquierda de nuestras líneas de código que
se van marcando, como podemos observar en la figura siguiente:

Hemos puesto ex profeso, Systems en vez de System, y enseguida el programa nos muestra una
cruz roja delatando el error. Si posamos el cursor del mouse encima de la misma vemos que nos
arroja una leyenda: “Systems cannot be resolved”.
Ahora cambiamos la variable por saluda y el mensaje de error: “Saluda cannot be resolved to a
variable”.
Si nos faltara una de las llaves {}, el error que nos
tira es:
Si en cambio el error fuera en el tipo de dato a  la hora de escribir, nos saldrá lo siguiente:
, que significa que el tipo de dato es incorrecto  o no existe.

No hay comentarios:

Publicar un comentario