Unidad 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 47

Programación

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).

Dirección de Educación a Distancia


Apartado Postal, 1874, San Salvador, El Salvador
Tel: 2251-8200 ext: 1743
Sumario

1. Introducción a la plataforma JAVA .................................................. 2


1.1. Historia de Java ........................................................................... 3
1.2. Plataforma de Java ...................................................................... 5
1.2.1. Características Destacadas ....................................................... 7
1.2.2. Ediciones de Java ..................................................................... 7
1.2.2.1. Java Standard Edition (Java SE) ............................................. 7
1.2.2.2. Java Micro Edition (Java ME).................................................. 8
1.2.2.3. Java Enterprise Edition (Java EE) ........................................... 9
1.3. Versiones de Java ...................................................................... 10
2. Entorno de Desarrollo ................................................................... 12
2.1 Java Development Kit (JDK) ....................................................... 12
2.2 Compilador de JAVA ................................................................... 14
2.3 Java Virtual Machine................................................................... 16
2.4. GarbageCollection ..................................................................... 17
2.5 Entorno de Desarrollo Integrado IDE .......................................... 18
3. Lenguaje de Programación JAVA ................................................... 20
3.1 Variables .................................................................................... 20
3.2. Constantes ................................................................................ 21
3.3. Comentarios .............................................................................. 22
3.4. Tipos de Datos ........................................................................... 23
3.4.1. Tipos Primitivos ...................................................................... 24
3.4.2. Tipos Referenciados................................................................ 25
3.5. Cadenas .................................................................................... 25
3.6. Operadores ............................................................................... 26
3.6.1. Operadores Aritméticos .......................................................... 26
3.6.2. Operadores Lógicos ................................................................ 27
3.6.3. Operadores Relacionales......................................................... 28
3.7. Palabras Reservadas ................................................................. 29
4. Estructuras de Selección e Iterativas ............................................ 30
4.1. Estructuras de Selección ............................................................ 30
4.1.1. Estructura if ........................................................................... 30
4.1.2. Estructura if–else ................................................................... 31
4.1.3. Estructura if–else if ................................................................ 32
4.1.4. Estructura switch – case ......................................................... 33
4.1.5. Operador Condicional ............................................................. 36
4.2.1. Estructura for ......................................................................... 36
4.2.2. Estructura while ..................................................................... 38
4.2.3. Estructura do –while............................................................... 39
Introducción de la asignatura

Esta asignatura permite al estudiante adquirir las competencias necesarias para


analizar las diferentes etapas de la creación de un sistema que permita llevarlo
desde el diseño hasta su implementación, utilizando herramientas de Modelado.

Estas herramientas de Modelado son llamadas UML, y permiten crear un punto


de conexión entre los desarrolladores, analistas y usuarios finales, dentro del
curso se verán los diferentes diagramas que permitirán generar un análisis de
un futuro sistema que será creado y puesto en producción.

El estudiante adquiere competencias para desarrollar software con el paradigma


de Programación Orientada a Objetos; para ello, diseña, crea y documenta
aplicaciones que sean capaces de solventar necesidades y mejorar procesos de
empresas o instituciones.

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.

Mediante el desarrollo de proyectos presentado en diferentes etapas en el


trascurso de la asignatura el estudiante pondrá en práctica el conocimiento
adquirido, desarrollando sistemas a nivel empresarial y utilizando diferentes
técnicas estandarizadas de desarrollo.

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

Muñoz Cañavate, Antonio. (2003) Sistemas de


información en las empresas.
"Hipertext.net".Recuperado de:
https://www.upf.edu/hipertextnet/numero-
1/sistem_infor.html

Los lenguajes de programación nacen como un mecanismo para solventar los


problemas mencionados con anterioridad, estos pueden expresar cálculos y
procesos que serán llevados a cabo por un ordenador, permitiendo analizar todos
los datos brindados y generar una respuesta compresible para un ser humano.

Para el desarrollo de este curso se ha seleccionado el lenguaje de programación


Java por ser un lenguaje muy potente, seguro y completamente Orientado a
Objetos, lo cual permitirá entender este paradigma de programación.

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.

Figura 1. Java un Lenguaje Multiplataforma.

Fuente: Elaboración Propia.

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.

1.2. Plataforma de Java


La plataforma Java es una de las más utilizados en la actualidad para el
desarrollo de software, una de las grandes ventajas es que cuando se empieza
a programar no se parte de cero. Cualquier aplicación que se desarrolle siendo
estas de escritorio, web, etc., se apoya de un gran número de clases
preexistentes. A este número muy importante de clases que forman parte del
propio lenguaje se les llama API (ApplicationProgramming Interface). El lenguaje
incorpora muchos aspectos que en cualquier otro son extensiones propiedad de
empresas de software o fabricantes de ordenadores, entre estos se tienen
(threads, ejecución remota, componentes, seguridad, acceso a bases de datos,
etc.). Por eso, muchos expertos como: James Gosling, Ken Arnold y
HolmesDavid, opinan que Java es el lenguaje ideal para aprender la informática
moderna, porque incorpora todos estos conceptos de un modo estándar, mucho
más sencillo.

Los programas que se realizan en Java se compilan a un lenguaje intermedio,


este es denominado Bytecode o código neutro. Este código permite que Java sea
multiplataforma y es interpretado por la máquina virtual de Java (JVM) del
entorno de ejecución JRE. Cada sistema operativo instala la JVM correspondiente
y los bytecode corren bajo esta JVM instalada.

La portabilidad de Java ha contribuido a que muchas empresas hayan


desarrollado sus sistemas de comercio electrónico y sus sistemas de información
en Internet con Java. El proceso de desarrollo y de mantenimiento de los
sistemas resulta menos costoso y las aplicaciones son compatibles con distintos
sistemas operativos.

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.

Figura 2. Elementos de la Plataforma Java.

Fuente: Elaboración Propia.

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.

1.2.2. Ediciones de Java.


Existen varias Ediciones de Java, cada una de ellas diseñada para cierto
ambiente en particular. Estas ediciones son:
 Java Standard Edition (Java SE)
 Java Micro Edition (Java ME)
 Java EntrepriseEdition (Java EE)

1.2.2.1. Java Standard Edition (Java SE)


Es la edición que se emplea en computadoras personales (desktops y laptops).
Se le conoce también como Java Desktop (escritorio) y es la versión que se tiene
que instalar para poder programar en Java en tu computadora, aunque tus
programas estén destinados para alguna de las otras ediciones, es una colección
de APIs del lenguaje de programación Java útiles para muchos programas de la
Plataforma Java. La Plataforma Java Enterprise Edition incluye todas las clases
de la Java SE.
7
Figura 3. Java Micro Estándar Edition.

Fuente: lz3g.com. Recuperado de: http://lz3g.com

1.2.2.2. Java Micro Edition (Java ME)


Es la edición que se emplea en dispositivos móviles, tales como los teléfonos
celulares no SmartPhone. Es una versión recortada del Java SE con ciertas
extensiones enfocadas a las necesidades particulares de esos tipos de
dispositivos.
La plataforma Java Micro Edition, es una colección de APIs en Java orientadas a
productos de consumo como PDAs, teléfonos móviles o electrodomésticos.

Java ME se ha convertido en una buena opción para crear juegos en teléfonos


móviles debido a que se puede emular en un PC durante la fase de desarrollo y
luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de
aplicaciones o videojuegos con estas APIs resulta bastante económico de portar
a otros dispositivos.

Figura 4. Java Micro Edition.

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.

Java EE es un grupo de especificaciones diseñadas que permiten la creación de


aplicaciones empresariales, esto
sería: acceso a base de datos (JDBC), utilización de directorios distribuidos
(JNDI), acceso a métodos remotos (RMI/CORBA), funciones de correo
electrónico (JavaMail), aplicaciones Web (JSF, JSP y Servlets), etc. Aquí es
importante notar que JEE es solo una especificación, esto permite que diversos
productos sean diseñados alrededor de estas especificaciones algunos son
Tomcat y Weblogic.

Aunque varios productos Java están diseñados alrededor de estas


especificaciones, no todos cumplen con el estándar completo, esto es, Tomcat
solo cumple las especificaciones de JSP y Servlets; sin embargo, existen
productos como Websphere y algunos otros "Java Application Servers" que son
considerados "Fully JEE Compliant", en otras palabras, cumplen con todas las
especificaciones definidas por Sun ahora Oracle.

Figura 5. Java Enterprise Edition.

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)”.

1.3. Versiones de Java

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:

 Junio de 1991 – Se inició el proyecto de lenguaje Java


 JDK 1.0 – enero de 1996
 JDK 1.1 – febrero de 1997
 J2SE 1.2 – diciembre de 1998
 J2SE 1.3 – mayo de 2000
 J2SE 1.4 – febrero de 2002
 J2SE 5.0 – septiembre de 2004
 Java SE 6 – diciembre de 2006
 Java SE 7 – julio de 2011
 Java SE 8 – 18 de marzo de 2014
 Java SE 9 – julio de 2017

10
Figura 6. Línea de Tiempo de las versiones de Java.

Fuente: https://www.timetoast.com

Vea el siguiente enlace: “Línea de Tiempo JAVA.


Sanabria, C (2015)”.

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.

2.1 Java Development Kit (JDK)

Existen distintos programas comerciales que permiten desarrollar código Java.


La compañía Oracle Corp, encargada de las mejoras de la plataforma de Java,
distribuye gratuitamente el Java Development Kit (JDK). Se trata de un conjunto
de programas y librerías que permiten desarrollar, compilar y ejecutar
programas en Java. Incorpora, además, la posibilidad de ejecutar parcialmente
el programa, deteniendo la ejecución en el punto deseado y estudiando en cada
momento el valor de cada una de las variables (con el denominado Debugger).
Cualquier programador sabe que es importante el destinar tiempo para la
detección y corrección de errores. Existe también una versión reducida del JDK,
denominada JRE (Java RuntimeEnvironment) destinada únicamente a ejecutar
código Java (no permite compilar).

En la siguiente figura se intenta representar el árbol de directorios básicos de la


JDK 1.8.0. Para todas las versiones anteriores o posteriores esta ramificación es
similar.

12
Figura 7. Estructura de la JDK.

Fuente: Elaboración Propia.

Como se puede observar, la estructura se encuentra dividida en tres grandes


partes:

 bin: Incluye los ejecutables para la generación de programas Java.


 lib: Contiene las librerías (Clases) base empleadas en la generación de la
gran mayoría de programas Java.
 jre: Incluye el ambiente necesario para ejecutar programas Java, el cual
a su vez se encuentra sub-dividido en distintos directorios.

La JDK incluye también la máquina virtual de Java, el componente conocido


como JRE, indispensable para abrir aplicaciones Java en el navegador y de
Escritorio. Por otro lado, el JDK no es un kit de desarrollo completo, pues carece
de otras herramientas, siendo la más notable un entorno de desarrollo integrado
(IDE), como Eclipse, IntelliJ o Netbeans. Oracle deja que la elección de un IDE
sea cosa del programador.

Si tomamos como ejemplo el entorno Windows10 al instalar la JDK, además del


árbol de directorios explicados anteriormente está formado por varios ficheros
ejecutables. Dentro de los cuales tenemos:

 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

Para instalar la JDK, debe seguir los pasos del


documento del enlace: “Tutorial para instalar la
jdk. Torres, R. (2019)”.

2.2 Compilador de JAVA.

Figura 8. Proceso de Edición y Compilación.

Fuente: Elaboración Propia.

Se trata de una de las herramientas de desarrollo incluidas en la JDK. Realiza un


análisis de sintaxis del código escrito en los ficheros fuente de Java (con
extensión *.java), código que pudo ser creado en un block de notas o en un IDE.
Si no encuentra errores en el código genera los ficheros compilados (con
extensión *.class). En otro caso muestra la línea o líneas erróneas. En el JDK de
dicho compilador se llama javac.exe. Tiene numerosas opciones, algunas de las
cuales varían de una versión a otra. Se aconseja consultar la documentación de
la versión del JDK utilizada para obtener una información detallada de las
distintas posibilidades.

Para realizar el proceso de compilación y ejecución del lenguaje se cumplen los


siguientes pasos:

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.

A continuación, mostraremos el proceso de creación y compilación de un


programa de bienvenida a UDB Virtual.

En un block de notas redactar lo que se muestra en la siguiente imagen, puntos


a tomar en cuenta el archivo se debe llamar “Saludo.java” el nombre de la clase
se debe de llamar exactamente igual que el archivo, pero sin extensión “Saludo”
y lo que está contenido en el main, es el código de ejecución a realizar, para
este caso imprimir la información en consola.

Figura 9. Mi primer programa.

Fuente: Elaboración Propia.

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.

Al observar la imagen se puede destacar lo siguiente:

 Con el comando cd se realiza un desplazamiento físico a la ruta donde


está el archivo.
 Con el comando javac Saludo.java, invocamos al compilador, el cual si
no tiene errores creara el archivo llamado Saludo.class, este es el llamado
código neutro.
 Con el comando java Saludo, ejecutamos el código compilado y
obtenemos el resultado en consola.

Figura 10. Proceso compilación y ejecución.

Fuente: Elaboración Propia.

2.3 Java Virtual Machine.

La existencia de distintos tipos de procesadores y ordenadores llevó a los


ingenieros de Sun a la conclusión de que era muy importante conseguir un
software que no dependiera del tipo de procesador utilizado. Se planteó la
necesidad de conseguir un código capaz de ejecutarse en cualquier tipo de
máquina. Una vez compilado no debería ser necesaria ninguna modificación por
el hecho de cambiar de procesador o de ejecutarlo en otra máquina. La clave
consistió en desarrollar un código “neutro” el cual estuviera preparado para ser
ejecutado sobre una “máquina hipotética o virtual”, denominada Java Virtual
Machine (JVM). Es esta JVM quien interpreta este código neutro convirtiéndolo a

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).

Figura 11. Java Virtual Machine.

Fuente: http://www.buscaminegocio.com.

Recuperado de: http://www.buscaminegocio.com

2.4. GarbageCollection

Uno de los aspectos que mejoró el


lenguaje Java en comparación de
C++, fue el manejo de la memoria,
ya que introdujo el concepto de
recolector de basura automático
(GarbageCollection). Permitiendo
al desarrollador enfocarse más en
aspectos de programación de
negocio y olvidarse de la gestión de
la memoria. Figura 12. Recolector de basura

Recuperado de: https://i2.wp.com

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.

2.5 Entorno de Desarrollo Integrado IDE


Como se mencionó con anterioridad la JDK que es el kit de desarrollo del
lenguaje Java, no está completo ya que no contienen un entorno que nos ayude
a la hora de crear nuestros programas. Los IDE’s (Integrated Development
Environment) ofrecen un ambiente gráfico más amigable y un mayor número de
herramientas que se tienen a disposición para ayudar al programador en tareas
comunes, entre estas: edición de código, compilación, Debuggers para detección
de errores, wizard para crear objetos, etc.

Entre los IDE’s más comunes tenemos:

 Nebeans -> Open Source


 Eclipse -> Open Source
 JDeveloper -> Oracle
 IntelliJ Idea

La elección del IDE de trabajo queda exclusivamente al programador, cada uno


de estos tiene sus ventajas que ayudarán en el desarrollo de nuestros proyectos,
para este curso se ha seleccionado el IDE de Netbeans en su versión 8.2.

Para instalar la Netbeans, seguir los pasos del:


“Tutorial para instalar Netbeans.
Torres,R.(2019).”

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.

Figura 13. Área de Trabajo de Netbeans.

Fuente: Elaboración Propia.

19
Clase 3 | Fundamentos de
la Programación
3. Lenguaje de Programación JAVA

Para realizar un programa se deben de conocer los aspectos básicos de lenguaje


de programación, los cuales nos darán la pauta para ir desarrollando paso a
paso.

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.

En java, un identificador es una palabra compuesta de letras y/o números de


hasta 32 caracteres significativos, empezando siempre con una letra.

Existen ciertas reglas en cuanto a la declaración de variables, que debemos de


tomar en cuenta:

 Claras y con referencia directa al problema.


 No espacios en blanco, ni símbolos extraños en ellas.
 Se pueden usar abreviaturas, pero solo de carácter general.
 No deben ser palabras reservadas del lenguaje.
 Es convencional que las variables empiecen con una letra inicial
minúscula.

Antes de utilizar una variable, esta se debe declarar. Lo cual se debe hacer de
esta forma:

tipo nombrevariable;

20
Donde:

tipo: es el tipo de datos que almacenará la variable (texto, números enteros,...)

nombrevariable: es el nombre con el que se conocerá la variable.

Ejemplos:

Figura 14. Ejemplo de Declaración de


Variables.

Fuente: Elaboración Propia.

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.

Es convencional nombrar las contantes en mayúsculas, con el objetivo de


distinguirlas de las variables comunes, si por algún motivo a la hora de la edición
del programa se intenta cambiar el valor de la constante el compilador generará
un error y no creará el archivo *.class.

21
Figura 15. Ejemplo de Declaración de
Constantes.

Fuente: Elaboración Propia.

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.

Fuente: Elaboración Propia.

3.4. Tipos de Datos


Por un lado, se tienen los tipos de datos primitivos y por otro se tienen los que
se consideran como extensiones de la clase Objetc.

Respecto a los tipos primitivos se pueden clasificar en tipos enteros y flotantes;


sin embargo, también se tiene el tipo de dato boolean.

Figura 17. Tipos de Datos en Java.

Fuente: Elaboración Propia.

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.

Java soporta 8 tipos de datos primitivos, ver la siguiente tabla.

Tabla 1: Tipos de Datos Primitivos.

Tipo Tamaño en Rango de valores


Bytes

boolean 2 true, false

byte 1 -128 a 127

char 2 Caracteres en Unicode

short 2 -32,768 a 32,767

int 4 -2,147,483,648 a 2,147,483,647

long 8 -9,223,372,036,854,775,808L a
9,223,372,036,854,775,807L

float 4 +/- 3.4E+38F (6-7 dígitos importantes)

double 8 +/- 1.8E+308 (15 dígitos importantes)


Fuente: Elaboración propia.

Para más información sobre tipos los tipos de


datos revise la siguiente documentación:
“Primitive Data Types. Oracle (2019)“.

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.

Los objetos de la clase String se pueden crear a partir de cadenas constantes o


literals, son definidas entre dobles comillas, como, por ejemplo: "Hola". Java
crea siempre un objeto String al encontrar una cadena entre comillas. A
continuación, se describen dos formas de crear objetos de la clase String.

Stringsaludo = "Hola"; // La forma más sencilla de crear una variable tipo String

Stringsaludo = new String("Hola"); // también se pueden crear con un


constructor

El primero de los métodos expuestos es el más eficiente, porque como al


encontrar un texto entre comillas se crea automáticamente un objeto String, en
la práctica utilizando new se llama al constructor dos veces. También, se pueden
crear objetos de la clase String llamando a otros constructores de la clase, a
partir de objetos StringBuffer, y de arrays de bytes o de chars. Ladrón, J. (2005)

25
Figura 18. Tipos de Datos String.

Fuente: Elaboración Propia.

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.

3.6.1. Operadores Aritméticos


El lenguaje de programación java tiene varios operadores aritméticos que son
utilizados para tipos de datos enteros, flotantes y string realizando
concatenación, ver la Tabla 2, la cual contiene los Operadores Aritméticos en
orden de precedencia.

26
Tabla 2: Operadores Aritméticos

Operador Descripción Uso

+ Suma ope1 y Ope2, ope1 + ope2


cuando es usado sobre
String los concatena.

- Resta ope1 de ope2 ope1 - ope2

* Divide ope1 por ope2 ope1 * ope2

/ Incrementa ope en 1; ope1 / ope2


evalúa el valor antes de
incrementar.

% Obtiene el módulo de ope1 % ope2


dividir ope1 por ope2.

++ Incrementa ope en 1; ope++


evalúa el valor después
de incrementar.

++ Incrementa ope en 1; ++ope


evalúa el valor después
de incrementar.

-- 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.

3.6.2. Operadores Lógicos


Este tipo de operadores son los relacionados a la Lógica AND y Lógica OR en
términos digitales. Se usan ampliamente para evaluar varias condiciones y

27
posterior a la evaluación tomar una decisión, ver la Tabla 3 que contiene los
operadores relacionales.

Tabla 3: Operadores Relaciones

Operador Descripción Uso

&& ope1 y ope2 son ope1 && ope2


verdaderos.

|| Uno de los dos es ope1 | | ope2


verdadero.

! ope es falso (niega ! ope


ope).
Fuente: Elaboración propia.

3.6.3. Operadores Relacionales


Son frecuentemente utilizados con las sentencias condicionales y con las
instrucciones de bucle, devuelven un resultado booleano después de la
comparación, ver la Tabla 4 que contiene los operadores relacionales.

Tabla 4: Operadores Relaciones

Operador Descripción Uso


> ope1 es mayor que ope2. ope1 > ope2
>= ope1 es mayor o igual ope1 >= ope2
que ope2.
< ope1 es menor que ope2. ope1 < ope2
<= ope1 es menor o igual ope1 <= ope2
que ope2
== ope1 y ope2 son iguales. ope1 = = ope2
!= ope1 y ope2 son distintos ope1 != ope2
Fuente: Elaboración propia.

28
Para más información sobre los tipos de
operadores revise la siguiente
documentación: “Operadores Relacionales.
Oracle (2019)”

3.7. Palabras Reservadas


Cuando trabajamos con cualquier lenguaje de programación, se definen una
seria de palabras reservadas y que tienen un significado propio y por tal razón
no se pueden utilizar para asignarla como nombre de variable. A continuación,
un se presentan las palabras reservadas del lenguaje Java, ver la Tabla 5, con
todas las palabras reservadas del lenguaje.

Tabla 5: Palabras Reservadas

abstract do import public throws


boolean double instanceof return transient
break else int shor try
byte extends interface static void
case final long strictfp volatile
catch finaly native super while
char float new switch
class for package synchronized
continue if private this
default implements protected throw
const goto Palabras Reservadas sin uso actualmente
null true
Fuente: Elaboración propia.

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.

Se denomina flujo de un programa al orden de ejecución de las sentencias que


forman parte del programa. Las estructuras de control son unas características
básicas de los lenguajes que se utiliza para modificar el flujo del programa.
En muchas ocasiones es necesario que a partir de diferentes condicionantes se
cumplan unas instrucciones en específicas, en otras ocasiones será necesario
que el programa repita cierto de bloque de instrucciones un número de veces
determinado. Ladrón, J. (2005).
A continuación, se detallan las diferentes estructuras de control.

4.1. Estructuras de Selección


Este tipo de estructura permite modificar el flujo de un programa. Las
instrucciones a ejecutar dependerán del resultado de la condición evaluada.

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.

Fuente: Elaboración Propia.

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 IF.

Tabla 6: Estructura IF

Pseudocódigo Sintaxis en Java

Si<Condición>Entonces if (<Condición>){
//Instrucciones //Instrucciones
Fin-Si }
Fuente: Elaboración propia.

4.1.2. Estructura if–else


Este tipo de estructura es llamado de selección doble porque proporciona dos
bloques de sentencias mutuamente excluyentes, si la condición es evaluada
como verdadera se ejecuta el bloque del if, de haber devuelto un valor false,
ejecuta el bloque del else.

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 IF- ELSE.

31
Tabla 7: Estructura if-else

Pseudocódigo Sintaxis en Java

Si<Condición>Entonces if (<Condición>){
//Instrucciones //Instrucciones
Sino }else{
//Instrucciones //Instrucciones
Fin-Si }
Fuente: Elaboración propia.

4.1.3. Estructura if–else if


Este tipo de estructura permite evaluar múltiples condiciones, se evalúa la
primera condición del if si el resultado es flase, se procede a evaluar la siguiente
condición, este tipo de estructura también se le puede colocar el valor por
defecto (else), de no ser ejecutada ninguna de las condiciones evaluadas.

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 IF- ELSE IF.
Tabla 8: Estructura if-else if

Pseudocodigo Sintaxis en Java

Si<Condición> Entonces if(<Condición>){


//Instrucciones //Instrucciones
Sino Si<Condición> Entonces }elseif (<Condición>){
//Instrucciones //Instrucciones
Fin-Si }
Fuente: Elaboración propia.

En la Figura 20, se puede observar un ejemplo de la Estructura IF, en el cual el


usuario ingresara dos números, que, posteriormente, serán evaluados,
existiendo tres posibles opciones, que ambos números sean iguales, que el
primer número es mayor que el segundo o que no cumpla ninguna de las dos
condiciones anteriores que se daría para el caso, cuando el segundo número es
mayor que el primero.
32
Figura 20. Ejemplo de Estructura Condicionl IF.

Fuente: Elaboración Propia.

Para más información sobre la estructura ifrevise


la siguiente documentación: “Theif-then and if-
then-elseStatements. Oracle (2019)”.

4.1.4. Estructura switch – case


Permite seleccionar una opción de un conjunto. Si la variable evaluada
en(<Opción>) que se puede observar en la Tabla 9 coincide con el Valor del
case, el bloque es ejecutado. Adicionalmente, la instrucción break finaliza el
bloque de código case.

La instrucción SWITCH-CASE, si no encuentra el valor de igualdad entre variable


y constante, entonces ejecuta un grupo de instrucciones asociados a un default,
aunque este último es opcional.

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.

Figura 21. Diagrama de flujo de estructura


SWITCH-CASE.

Fuente: Elaboración Propia.

Tabla 9: Estructura switch-case

Pseudocodigo Sintaxis en Java

Seleccione<Opción> switch (<Opción>){


Caso Valor1 case Valor1:
//Instrucciones //Instrucciones
Caso Valor2 break;
//Instrucciones case Valor2:
Caso Valor3 //Instrucciones
//Instrucciones break;
De_lo_Contrario case Valor3:
//SI ningún caso se cumple //Instrucciones
Fin-Seleccione break;
case Valor4:
//Instrucciones
break;

34
default:
//SI ningún caso se cumple
break;
}
Fuente: Elaboración propia.

En la Figura 22, se puede observar un ejemplo del uso de esta estructura, el


cual consiste básicamente en una calculadora básica, para ello se le solicita al
usuario dos números y si se observa la variable charop tiene asignado el símbolo
‘+’, lo que provocará que se realice una suma, para realizar otra operación
básica, se deberá de cambiar el símbolo.

Figura 22. Ejemplo de Estructura Iterativa


SWITCH - CASE.

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.

Su sintaxis tiene la siguiente estructura:


Condición-lógica ? valor-si- verdadero : valor-si-false

4.2.1. Estructura for


Este tipo de estructura son llamadas de Bucle y repite un bloque de instrucciones
mientras la condición que se esté evaluando siga siendo verdadero, para que
romper esta condición y no generar bucles infinitos se les asigna un contador
que va incrementando o decrementando en uno o más, según sea la necesidad.

Figura 23. Diagrama de flujo de estructura FOR.

Fuente: Elaboración Propia.

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.

Tabla 10: Estructura for

Pseudocodigo Sintaxis en Java

Para i=kHastan Incremento j for (i=k; i<=n;i++){


//Instrucciones //Instrucciones
Fin-Para }
Fuente: Elaboración propia.

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.

Figura 24. Ejemplo de estructura Iterativa FOR.

Fuente: Elaboración Propia.

37
4.2.2. Estructura while
Esta sentencia repite el bloque de instrucciones mientras su condición de un
resultado verdadero.

En la Figura 25, se observa el diagrama de flujo, donde en primer lugar se realiza


una evaluación de la condición si esta da como resultado false termina el flujo,
de ser evaluada como verdadero se repite el bloque de instrucciones.

Figura 25. Diagrama de flujo de estructura


WHILE.

Fuente: Elaboración Propia.

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 WHILE.

38
Tabla 11: Estructura for

Pseudocodigo Sintaxis en Java

Mientras <Condición> while (<Condición>){


//Instrucciones //Instrucciones
Fin-Mientras }

Fuente: Elaboración propia.

En la Figura 26, se puede observar un ejemplo de la estructura while, el cual


imprime el valor de la variable i desde cero hasta 10, luego el ciclo se rompe.

Figura 26. Ejemplo de estructura Iterativa


While

Fuente: Elaboración Propia.

4.2.3. Estructura do –while


Esta estructura a diferencia del while vista con anterioridad, tiene la peculiaridad
que se ejecuta al menos una vez.

En la Figura 27, se puede observar que la condicion de evaluación esta hasta el


final del diagrama, lo cual nos indica que el bucle se ejecuta por lo menos una
vez. De ser la concion verdadera se vuelve a ejecutar en caso de false se termina
el flujo.

39
Figura 27. Diagrama de flujo de estructura DO-
WHILE.

Fuente: Elaboración Propia.

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 DO - WHILE.

Tabla 11: Estructura do-while

Pseudocodigo Sintaxis en Java

Hacer <Condición> do{


//Instrucciones //Instrucciones
Mientras<Condición> } while (<Condición>)
Fuente: Elaboración propia.

En la Figura 28, se puede observar un ejemplo de la estructura do - while, el


cual imprime el valor de la variable i desde cero hasta 10, luego el ciclo se rompe.

40
Figura 28. Ejemplo de estructura Iterativa do-
While.

Fuente: Elaboración Propia.

Para más información, vea la siguiente


documentación: “The while and do-while
Statements. Oracle (2019)”.

4.2.4. For Mejorado


Una de las novedades que aparecieron a partir de la Java 5, fue la creación de
una nuevaversión del for, al cual se le llama for mejorado, la sintaxis es la
siguiente:

for (tipo idParam : colección){


//Instrucciones
}

41
Figura 29. Ejemplo de estructura For Mejorado.

Fuente: Elaboración Propia.

Puede descargar todos los Ejemplos mencionados


en este documento. En el siguiente enlace:
“Ejemplos de Estructuras de Control. Torres, R.
(2019)”.

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.

Ladrón Guevara, Jorge Martinez. (2005.). Fundamentos de Programación en


Java. Madrid.Editorial EME.

James Gosling, Ken Arnold & Holmes, David (2001). El Lenguaje de


Programación Java TM. Madrid (3.a ed.). Pearson.

43
Glosario de los términos citados en la
UNIDAD 1
Tabla de términos técnicos de la UNIDAD y sus respectivas definiciones.

Término Definición del término presentado

Java Es un lenguaje de programación orientado a objeto creado


por Sun Microsystems.

oak Roble en inglés, primer nombre que tuvo el lenguaje de


JAVA.

API ApplicationProgramming Interface. Es un conjunto de


rutinas que provee acceso a funciones en determinado
software.

JDK Java Development Kit, es el conjunto de herramientas que


son necesarias para poder compilar y ejecutar.

JRE Java RuntimeEnviroment, es la herramienta que nos


permite poder ejecutar programas Java.

brainstorming Es una técnica creativa, ideada en 1939 por Alex


FaickneyOsborn, que se basa en interacción entre los
integrantes de un grupo para crear nuevas ideas.

Bytecode Es llamado código neutro y el el código que interpreta la


Java Virtual Machine.

44

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy