Unidad 1
Unidad 1
Unidad 1
orientada
A objetos.
UNIDAD 1
Programación
Estructurada
Se prohíbe la reproducción total o parcial de esta obra, por cualquier medio,
electrónico o mecánico sin la autorización de la Dirección de Educación a
Distancia (UDB virtual).
El curso está dividido de tal manera que el estudiante comprenda cada una de
las etapas del desarrollo de un sistema, empezando por aspectos básicos de
programación, conexiones a bases de datos, creaciones de aplicaciones de
escritorio y por último programación Web.
1
Clase 1 | Generalidades
del lenguaje de
Programación JAVA
1. Introducción a la plataforma JAVA
En un mundo altamente globalizado, donde el manejo de datos tanto personales
como empresarial es de vital importancia para una organización, será necesario
contar con los mecanismos de manejo de altos volúmenes de información tanto
para procesos administrativos, procesos de negocio o procesos internos de lógica
empresarial
2
1.1. Historia de Java
El lenguaje Java fue creado por Sun Microsystems Inc. en un proceso por etapas
que arranca en 1990, año en el que Sun creó un grupo de trabajo, liderado por
James Gosling, para desarrollar un sistema para controlar electrodomésticos e
incluso PDAs o Asistentes Personales (pequeños ordenadores) que, además,
permitiera la conexión a redes de ordenadores. Se pretendía crear un hardware
polivalente, con un Sistema Operativo eficiente (SunOS) y un lenguaje de
desarrollo denominado Oak (roble), el precursor de Java. El proyecto finalizó
en1992, y resultó un completo fracaso debido al excesivo costo del producto, con
relación a alternativas similares, tras lo cual el grupo se disolvió. En ese momento
aparece Mosaic y la World Wide Web, después de la disolución del grupo de
trabajo, únicamente quedaba del proyecto, el lenguaje Oak. Gracias a una
acertada decisión de distribuir libremente el lenguaje por la Red de Redes y al
auge y la facilidad de acceso a Internet, propiciado por la WWW, el lenguaje se
popularizó y se consiguió que una gran cantidad de programadores lo depurasen
y terminasen de perfilar la forma y usos del mismo. A partir de este momento, el
lenguaje se difunde a una velocidad vertiginosa, añadiéndosele numerosas clases
y funcionalidad para TCP/IP. El nombre del lenguaje tuvo que ser cambiado ya
que existía otro llamado Oak. El nombre “Java” surgió en una de las sesiones de
“brainstorming” celebradas por el equipo de desarrollo del lenguaje. Buscaban un
nombre que evocara la esencia de la tecnología (viveza, animación, rapidez,
interactividad...). Java fue elegido de entre muchísimas propuestas. No es un
acrónimo, sino únicamente algo humeante, caliente y que a muchos
programadores les gusta beber en grandes cantidades: una taza de café (Java en
argot inglés americano). De esta forma, Sun lanzó las primeras versiones de
Javaa principios de 1995.Desde entonces, Sun ha sabido manejar
inteligentemente el éxito obtenido por su lenguaje, concediéndose licencias a
cualquiera sin ningún problema, fomentando su uso entre la comunidad
informática y extendiendo las especificaciones y funcionalidad del lenguaje.
James, K. (2001, p.11)
En la actualidad, SunMicrosystemsInc.ndejó de existir como empresa ya que fue
comprada el 17 de abril de 2009, por Oracle Corporation, la cual tiene en la
actualidad la responsabilidad de las mejoras y del lanzamiento de las nuevas
versiones del lenguaje Java.
3
Java es un lenguaje muy valorado porque los programas se pueden ejecutar
endiversas plataformas con sistemas operativos diferentes como Windows, Mac
OS, Unix, Linux o Solaris. James Gosling, el director del equipo de trabajo
encargado de desarrollar Java, hizo realidad la promesa de un lenguaje
independiente de la plataforma. Se buscaba diseñar un lenguaje que permitiera
programaruna aplicación una sola vez que luego pudiera ejecutarse en distintas
máquinas y sistemas operativos. Para conseguir la portabilidad de los programas
Java se utiliza un entorno de ejecución para los programas compilados. Este
entorno se denomina Java RuntimeEnvironment (JRE). Es gratuito y está
disponible para los principales sistemas operativos. Esto asegura que el mismo
programa Java pueda ejecutarse en Windows, Unix,MacOS, Linux o Solaris.
4
Existe una frase muy popular en el entorno de desarrollo de Java que dice de la
siguiente forma “Write Once, Run Anyware”, que se podría traducir como
“Escríbelo solo una vez y ejecútalo donde sea”. Esta idea resume el concepto de
portabilidad porque podría ejecutarse en un ordenador o en un dispositivo móvil.
5
La evolución del lenguaje de programación ha sido muy rápida. La plataforma
de desarrollo de Java, denominado Java Development Kit (JDK), se ha ido
ampliando y cada vez incorpora a un número mayor de programadores en todo
el mundo.
La siguiente figura muestra los elementos de la plataforma, desde la creación
del código el cual también es llamado código fuente creado bajo las reglas de la
API del lenguaje, el compilador el cual convierte el código fuente en un código
Neutro (Bytecode y el entorno de ejecución de Java (Java RuntimeEnviroment)
que contiene la máquina virtual (Java Virtual Machine) permiten que un
programa compilado se ejecute en distingos sistemas operativos.
6
1.2.1. Características Destacadas
Basado en C++, comparte su sintaxis y muchos elementos del lenguaje,
además de ser orientado a objetos.
Es un lenguaje multiplataforma, capaz de producir programas
que se ejecutan bajo cualquier sistema operativo y arquitectura de
computación, utilizando el intérprete correspondiente
Posee soporte para manejo de datos tanto a nivel local como en red, lo
cual lo vuelve ideal para desarrollar aplicaciones para Internet.
El kit de desarrollo de Java (JDK) está disponible gratis para varios
sistemas operativos.
Con Java es posible crear varios tipos de programas: aplicaciones gráficas,
applets, servicios web y otros.
El manejo de la memoria no es un problema, la gestiona el propio lenguaje
y no el programador.
Recuperado de:
https://erickcion.files.wordpress.com
8
1.2.2.3. Java Enterprise Edition (Java EE)
Es la edición que se emplea para hacer aplicaciones empresariales. Incluye a
toda la Standard Edition y muchas, muchas más extensiones.
Fuente: tuxtor.shekalug.org
Recuperado de:
https://avatars2.githubusercontent.com
9
Para más información, vea el siguiente enlace:
“Versiones y ediciones de Java. Paredes, G.
(2016)”.
Java evolucionó desde sus orígenes y han aparecido diferentes versiones con
grandes mejoras que se ajustan a las nuevas necesidades tecnológicas que van
apareciendo día con día. A continuación, se detallas las fechas de publicación de
las de cada una de las versiones:
10
Figura 6. Línea de Tiempo de las versiones de Java.
Fuente: https://www.timetoast.com
11
Clase 2 | Entorno de
Desarrollo de JAVA
2. Entorno de Desarrollo
Para desarrollar programas en Java, además de tener el entusiasmo, la
dedicación y la paciencia, se deben de tener un conjunto de herramientas debida
instaladas y configuradas; para ello, se prepara el entorno de trabajo, es
fundamental tener instalado la JDK, realizar las configuraciones pertinentes en
el sistema operativo y un Entorno de Desarrollo Integrado (IDE) debidamente
instalado.
12
Figura 7. Estructura de la JDK.
El compilador: javac.exe
El depurador: jdb.exe
El intérprete: java.exe y javaw.exe
13
El visualizador de applets: appletviewer.exe
El generador de documentación: javadoc.exe
14
Editar el código, ya sea en un block de notas o un IDE, tomando en cuenta
que el archivo debe terminar con extensión .java, de no ser así generará
un error.
Invocar al comando javac.exe el cual es el compilador, tomará el archivo
brindado y procesara cada una de sus líneas, realizando análisis léxico,
sintáctico, semántico, generará el código intermedio, optimizara el código
y generara el código final creando un nuevo archivo con el mismo nombre,
pero con extensión *.class.
Si se generan errores, estos serán mostrados en la pantalla y no se creara
el archivo con extensión*.classs.
15
Para abrir una consola de Windows, presionar las teclas Windows +R, esto abrirá
una ventana en la que deberá colocar la palabra cmd, permitiendo así visualizar
la terminal de comandos.
16
código particular de la CPU utilizada. Se evita tener que realizar un programa
diferente para cada CPU o plataforma. La JVM es el intérprete de Java. Ejecuta
los “bytecodes” (ficheros compilados con extensión *.class) creados por el
compilador de Java (javac.exe). Tiene numerosas opciones entre las que destaca
la posibilidad de utilizar el denominado JIT (Just-In-Time Compiler), que puede
mejorar entre 10 y 20 veces la velocidad de ejecución de un programa. James,
K. (2001, p15).
Fuente: http://www.buscaminegocio.com.
2.4. GarbageCollection
17
A nivel del sistema operativo el Garbage Collecition es un proceso que se
encuentra activo y está en modo de escucha constante, cuando un objeto que
ocupa un espacio en memoria y que no ha sido ocupado durante un intervalo de
tiempo prologado se convierte en un candidato para ser eliminado, permitiendo
de esta manera dejar ese espacio de memoria disponible.
18
En la siguiente figura se muestra el entorno del IDE de Netbeans, el cual tiene
el ejemplo realizado en la sección 2.2 con la diferencia que todo se puede ver
de una manera más amigable y no necesitamos de estar aplicando comandos,
ya que el IDE automáticamente los invoca para compilar y luego ejecutarlo.
Tiene diferentes secciones, entre las que tenemos Área de Proyectos, Edición de
código y consola de salida.
19
Clase 3 | Fundamentos de
la Programación
3. Lenguaje de Programación JAVA
3.1 Variables
Las variables son contenedores de datos que utiliza un programa y que están
alojadas en espacios de memoria, las cuales están identificadas por un conjunto
de letras o números, son definidas por el programador y cambian
constantemente dependiendo del flujo de invocación en el programa.
Antes de utilizar una variable, esta se debe declarar. Lo cual se debe hacer de
esta forma:
tipo nombrevariable;
20
Donde:
Ejemplos:
3.2. Constantes
En muchas ocasiones es necesario crear valores que no sean modificados en el
transcurso de la ejecución del programa, una constante es una variable especial
que mantiene sin modificación el valor asignado desde su creación, en java las
contantes se definen mediante el modificador final.
21
Figura 15. Ejemplo de Declaración de
Constantes.
3.3. Comentarios
Los comentarios son partes del código que ayudan a un programador a
documentar su programa y mejorar la legalidad de estos, en muchas ocasiones
se ignora la realización de este ya que se cree que no es necesario, los
comentarios se agregan como una referencia para entender en un futuro las
líneas de código que se han agregado, también las ocupan otros programadores
en un para comprender el programa, el compilador ignora los comentarios no
son indispensables para este proceso.
Existen tres formas para poner comentarios:
Comentarios en una línea, se antepone dos barras inclinadas (//).
Comentario de Múltiples líneas, se empieza con una barra inclinada y un
asterisco (/*) y finaliza con un asterisco y barra inclinada (*/).
Comentarios para JavaDoc, utilizados para la herramienta JavaDoc, en
este caso se debe anteponer un barra inclinada y dos asteriscos (/**) y
finaliza con un asterisco y una barra inclinada (*/).
22
Figura 16. Ejemplo de Declaración de
Comentarios.
23
3.4.1. Tipos Primitivos
Son los tipos de datos más básicos no son instanciados, por lo cual no tienen
métodos asociados a ellos, son los que se utilizaran si se necesita una mayor
rapidez en el procesamiento de la información ya que consumen menos recursos,
ver la Tabla1, la cual contienen los 8 tipos de datos primitivos del lenguaje Java.
long 8 -9,223,372,036,854,775,808L a
9,223,372,036,854,775,807L
24
3.4.2. Tipos Referenciados
Este tipo de datos indican que se van a trabajar con instancias de clases no con
tipos de datos primitivos, de esta manera una variable de referencia almacena
direcciones y no valores directamente. Una referencia a un objeto es la dirección
de un área de memoria que representara el objeto.
Ejemplos de tipo de Referencia son los tipos Object, los cuales pueden ser
Clases, Interfaces o Arreglos (Arrays) en Java.
3.5. Cadenas
Las cadenas son de tipo Object aunque no es necesario el operador new para su
creación. Se puede declarar un tipo de dato String y asignarle un valor
directamente; es por ello, que este tipo de dato pareciera de tipo de primitivo,
pero no lo es, por su uso constante se decidió simplificar el proceso de creación
y asignación de valores.
Stringsaludo = "Hola"; // La forma más sencilla de crear una variable tipo String
25
Figura 18. Tipos de Datos String.
3.6. Operadores
Un operador lleva a cabo operaciones sobre datos primitivos ya sean estos uno,
dos, tres, etc. Las operaciones realizadas con estos operadores devuelven
resultado, este depende del tipo de dato que se esté evaluando. Los operadores
se clasifican en diferentes grupos.
Operadores Aritméticos.
Operadores Lógicos.
Operadores Relacionales.
26
Tabla 2: Operadores Aritméticos
-- Decrementoope en 1; ope--
evalúa el valor antes de
decrementar.
-- Decrementoope en 1; --ope
evalúa el valor antes de
decrementar.
Fuente: Elaboración propia.
27
posterior a la evaluación tomar una decisión, ver la Tabla 3 que contiene los
operadores relacionales.
28
Para más información sobre los tipos de
operadores revise la siguiente
documentación: “Operadores Relacionales.
Oracle (2019)”
29
Clase 4 | Estructuras de
Control
4. Estructuras de Selección e Iterativas
Cada programa que se realiza se compone de un conjunto de sentencias que
definen lo que este va a realizar durante su ejecución. Estas sentencias permiten
realizar captura de datos, generar salida de información, cálculos matemáticos,
almacenamiento de datos, etc.
4.1.1. Estructura if
Esta instrucción evalúa la expresión (<Condición>) que se puede observar en la
Tabla 6, si la condición es evaluada como true, ejecuta el código que se
encuentra entre las llaves del if, también es conocida como estructura de
selección única.
30
Figura 19. Diagrama de flujo de estructura IF.
Tabla 6: Estructura IF
Si<Condición>Entonces if (<Condición>){
//Instrucciones //Instrucciones
Fin-Si }
Fuente: Elaboración propia.
31
Tabla 7: Estructura if-else
Si<Condición>Entonces if (<Condición>){
//Instrucciones //Instrucciones
Sino }else{
//Instrucciones //Instrucciones
Fin-Si }
Fuente: Elaboración propia.
33
A partir de la JDK 7, se puede usar una cadena literal/constante para controlar
una declaración switch, lo cual no era posible en las versiones anteriores.
En la siguiente tabla se puede observar el pseudocódigo y cuál sería la sintaxis
en el lenguaje de programación Java de la Estructura SWITCH - CASE.
34
default:
//SI ningún caso se cumple
break;
}
Fuente: Elaboración propia.
35
4.1.5. Operador Condicional
Este tipo de operador se relaciona con el if – else, su estructura consiste
básicamente en un signo de interrogación y dos puntos (?:). Es el único operador
de Java que utiliza tres operandos. El primero operando es una condición lógica,
el segundo el valor que toma la expresión cuando la condición es verdadera y el
tercero es el valor que toma cuando la condición es falsa.
36
En la siguiente tabla se puede observar el pseudocódigo y cuál sería la sintaxis
en el lenguaje de programación Java de la Estructura FOR.
En la Figura 24, se puede observar el uso for, el cual tiene la curiosidad de tener
bucles anidados, y como se puede observar el for más interno no tiene llaves y
esto se debe que cuando solo se ejecuta un bloque de instrucciones para este
caso el System.out.print(“*”) no es necesario agregar paréntesis de apertura
ni de cierre.
37
4.2.2. Estructura while
Esta sentencia repite el bloque de instrucciones mientras su condición de un
resultado verdadero.
38
Tabla 11: Estructura for
39
Figura 27. Diagrama de flujo de estructura DO-
WHILE.
40
Figura 28. Ejemplo de estructura Iterativa do-
While.
41
Figura 29. Ejemplo de estructura For Mejorado.
42
Referencias citadas en la UNIDAD 1
De Jalón Garcia, Javier & Rodriguez, Jose Ignacio & Mingo, Iñigo &Imaz, Aitor
&Brazález Larzaba, Alberto &Jhon García, Jesús Calleja. (2018). Aprenda java
como si estuviera en primero. España. Universidad de Navarra.
43
Glosario de los términos citados en la
UNIDAD 1
Tabla de términos técnicos de la UNIDAD y sus respectivas definiciones.
44