Java Mod1

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 174

ING.

EDISON USCA

JAVA 1
DEFINICIONES

• ALGORITMO: SECUENCIA DE INSTRUCCIONES O PASOS ORDENADOS, QUE PERMITEN


RESOLVER DIFERENTES OPERACIONES.
• PROGRAMA: CONJUNTO DE INSTRUCCIONES, CÓDIGO, QUE REPRESNTAN O TRADUCEN UN
ALGORITMO, A PARTIR DE UN LENGUAJE DE PROGRAMACIÓN.
• SOFTWARE: UN CONJUNTO DE PROGRAMAS, RUTINAS, FUNCIONES Y APLICATIVOS.
• CLASIFICACIÓN DEL SOFTWARE: SOFTWARE A LA MEDIDA: REALIZADO A FIN ESPECIFICO,
DEPENDIENDO A LO Q REQUIERE EL USUARIO. (EL SOFTWARE SE ACOPLA AL USUARIO)
• SOFTWARE GENERICO.- SOFTWARE ESTANDAR, REUTILIZABLE, EL USUARIO SE ACOPLA AL
SOFTWARE.
• SOFTWARE DE SISTEMA OPERATIVO(WINDOWS, LINUX, MACOS, ANDROID)
• SOFTWARE DE APLICACIONES(OFIMATICA, ADOBE READER, WINRAR, ZOOM)
• SOFTWARE DE DESARROLLO(- JAVA, C++, PHP, PHYTON, ETC.)
DEFINICIONES CLAVES

• PROGRAMACIÓN: Proceso por el cual se diseña, codifica, limpia y protege el


código fuente de programas informáticos. Por medio de la programación se dictan
los pasos a seguir para la creación del código fuente de programas informáticos.
De acuerdo con ello el código se escribe, se prueba y se perfecciona a medida de
su desarrollo.

• Se guía por una serie de reglas y un conjunto pequeño de órdenes, instrucciones


y expresiones que tienden a parecerse a una lengua natural, pero en forma
acotada. Los lenguajes de programación, son todas aquellas reglas o normas,
símbolos y palabras particulares empleadas para la creación de un programa y
con él, ofrecerle una solución a un problema determinado.
¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?

• Es un lenguaje formal que especifica una serie de instrucciones (comando –


códigos) para que una computadora produzca y procese diversas clases de
datos. Los lenguajes de programación pueden usarse para crear programas
que lleven a la en práctica algoritmos específicos los cuales controlan el
comportamiento físico y lógico de una computadora.
• Está formado por un conjunto de símbolos y reglas sintácticas y semánticas
que definen su estructura y el significado de sus elementos y expresiones. Al
proceso por el cual se escribe, se prueba, se depura, se compila (de ser
necesario) y se mantiene el código fuente de un programa informático se le
llama programación. (Wikipedia, 2019).
QUE ES JAVA

Antes en entrar en materia de conceptos, fundamentos y código, es importante


conocer, ¿Qué es Java? Java es un lenguaje de programación creado en 1995
para el entorno de computación de mismo nombre por Sun Microsystems. Desde
2009, Oracle compró Sun Microsystems, convirtiéndose en el nuevo dueño de
Java. (Aboutespanol, 2018)
JAVA SE CREÓ PARA ACOGERSE A UNA FILOSOFÍA DE CINCO (5) OBJETIVOS EN
TODO EL PROCESO DE SU CREACIÓN E IMPLEMENTACIÓN:

• Debería usar un paradigma de programación orientada a objetos.

• Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.

• Debería incluir por defecto soporte para trabajar en red (Software en línea).

• Debería diseñarse para la ejecución de código remoto de forma segura.

• Debería ser fácil de usar y tomar lo mejor de otros lenguajes de programación


orientados a objetos.
Como la mayoría de lenguajes de programación, Java se utiliza para crear aplicaciones y
procesos que funcionen en multitud de dispositivos. (Wikipedia, 2018).
CÓMO OPERA?
https://www.youtube.com/watch?v=hPbvq7oe7dI.

• Java, para su operatividad y correcto funcionamiento necesita una serie de


herramientas que permiten esto, dentro del stack de herramienta se
encuentran principalmente:
• JRE (Java Runtime Environment): Su objetivo es aportar el entorno
necesario para ejecutar una aplicación Java.
• JDK (Java Development Kit): Es el paquete de herramientas precisas para
llevar a cabo el desarrollo de dicha aplicación.
INSTALACIÓN DE ECLIPSE

Para descargar todas las herramientas necesarias para el desarrollo idóneo del diplomado y todo
su material. Lo primero que se debe hacer el descargar el JDK de Java en el siguiente enlace.

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Hay que tener en cuenta varios factores:

• La versión del JDK.

• El sistema operativo.

• Tipo de sistema (x32 (x84) – x64).

https://www.youtube.com/watch?v=3BNARxM_lg8
DESCARGA

• Posterior a esta descarga hay que seguir


los pasos básicos de instalación.
Recordar aceptar los términos y
condiciones “Accept License Agreement”.
• Posterior a todos los pasos anteriores,
Java y su JDK están correctamente
instalados y funcionales. Prosigue la
instalación del IDE de desarrollo Eclipse
(NetBeans, Compiladores Online u otras
herramientas también son válidas.
¿QUÉ ES ECLIPSE?

Es una plataforma de software compuesto por un conjunto de herramientas de


programación de código abierto multiplataforma para codificar. Para proceder a la
descargar, ir al siguiente enlace:
• https://www.eclipse.org/downloads/packages/

Hay que tener en cuenta que Eclipse tiene varias distribuciones y versiones por lo
que debes prestar atención en cuanto a:
• Versión del Eclipse.

• La distribución: Eclipse IDE for Java Developers.

• Tipo de sistema (x32 (x84) – x64


INSTALACIÓN

En este vídeo se ilustra en paso a paso de


ambas instalaciones:
• https://www.youtube.com/watch?
v=3BNARxM_lg8
PRIMER PROGRAMA HOLA MUNDO

Ya que se conoce un poco lo qué es Java, se tienen instaladas las herramientas


necesarias; se puede proceder a realizar un primer programa en el lenguaje de
programación Java. En este caso será el famoso “Hola Mundo”. Donde
adicionalmente se identificarán las primeras características que brinda el
lenguaje de programación a la hora de ser empleado. Ver el siguiente vídeo para
ilustrar el proceso.

https://www.youtube.com/watch?v=eMt3bgO-w0M
• Lo que se debe realizar son los siguientes pasos:
• Abrir el IDE de desarrollo, en este caso Eclipse, recordar que NetBeans y los editores de
texto también aplican:
PASO A PASO

Se debe crear ahora un nuevo Proyecto en Java a través de las opciones proporcionadas por
Eclipse en el menú:

• File:
• New:
• Java Project:

• Ahora se debe configurar el proyecto creado (Nombre del proyecto, versión que se va a
utilizar, marco del proyecto, entre otras opciones). Únicamente en este caso se establece
el nombre del proyecto y la versión a utilizar:
CREACIÓN DEL PROYECTO

• El resultado será el siguiente


PASO A PASO

Ahora dentro de la carpeta creada por el IDE src (También se conoce como source) se debe crear un
Paquete, el cual se encargará de contener todas las clases de Java:

• Src:
• New:
• Package:

• Entre las configuraciones que se encuentran a la hora de crear un paquete sólo importa determinar el
nombre del Paquete.
PASO A PASO

• Lo único que resta ahora es crear la clase Java dentro del Paquete para codificar el “Hola
Mundo”.

• - Paquete:
• - New:
• - Class:
PASO A PASO

Ahora se configuran las


características de la clase Hola
Mundo (Nombre, Paquete, Tipo
de clase, si va a ser Principal o
no, entre otros).
PASO FINAL

De esa forma se obtiene la siguiente estructura:


Se cuenta con un proyecto que se llama HolaMundo dentro de un de éste hay un
source package llamado Paquete que contiene una clase HolaMundo.java; dicha
clase cuenta con la siguiente estructura:
CÓDIGO

HolaMundo.java.
Indica el nombre de la clase y el nivel de acceso de ésta.
El nombre de la clase debe ser el mismo del archivo. Java.
Siempre debe contener la palabra class.
Debe abrir y cerrar llaves “{}” (Dentro de éstas va todo el código).
Indica un método public (Publico) y main (Principal) que va a permitir ejecutar el
código.
IMPRESIÓN DEL RESULTADO

• La instrucción “System.out.println ()” permite mostrar en consola (Pantalla) el resultado que se


indique dentro de los paréntesis (), de la siguiente forma; pero antes se debe ejecutar la clase.

• El proceso de ejecutar se realiza desde una de las opciones del menú superior de la clase: , en
orden se encuentran las siguientes opciones:

•  Run (Ejecutar) – EJECUTA Y REALIZA LOS PROCESOS DESCRITOS EN LA CLASE

•  Coverage (Cobertura) ejecutar, realizar pruebas y consultar cobertura

•  Run External Tool (Ejecutar Herramienta Externa) ejecutar la clase con una herramienta externa
OBSERVA EL HOLA MUNDO EN OTROS
LENGUAJES
https://www.youtube.com/watch?v=zecueq-mo4M.
PROGRAMACIÓN ESTRUCTURADA

• La programación estructurada es un paradigma de programación orientado a


mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora
recurriendo únicamente a subrutinas y tres estructuras básicas: secuencia, selección
(if y switch) e iteración (bucles for y while).
• A finales de los años 1970 surgió una nueva forma de programar que no solamente
permitía desarrollar programas fiables y eficientes, sino que además estos estaban
escritos de manera que se facilitaba su comprensión en fases de mejora posteriores.
TEOREMA DEL PROGRAMA ESTRUCTURADO

El teorema del programa estructurado, propuesto por Böhm - Jacopini, demuestra que
todo programa puede escribirse utilizando únicamente las tres instrucciones de control
siguientes:
•  Secuencia.

•  Instrucción condicional.
•  Iteración (bucle de instrucciones) con condición inicial.

Solamente con estas tres estructuras se pueden escribir todos los programas y
aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio
de estructuras de control, estas pueden ser construidas mediante las tres básicas
citadas.
VARIABLES –TIPOS DE DATOS

Todo programa de ordenador persigue ofrecer una funcionalidad determinada para la


que, por regla general, necesitará almacenar y manipular información. Dicha
información, que son los datos sobre los que se opera, deben almacenarse
temporalmente en la memoria del ordenador. Para poder almacenar y recuperar
fácilmente información en la memoria de un ordenador los lenguajes de programación
ofrecen el concepto de variables, que no son más que nombres que "apuntan" a una
determinada parte de la memoria y que el lenguaje utiliza para escribir y leer en esta de
manera controlada.
TIPOS DE DATOS

• El acceso a esta información se puede mejorar dependiendo del tipo de dato que se
almacena. Por ejemplo, no es lo mismo tener la necesidad de manejar números, que
letras, que conjuntos de datos. Y dentro de éstos no es igual tener que almacenar un
número entero que uno decimal. Aunque al final todo son ceros y unos dentro de la
memoria de nuestro ordenador, es la forma de interpretarlos lo que marca la
diferencia, tanto al almacenarlos como al recuperarlos.
• Este el motivo por el que los lenguajes de programación cuentan con el concepto de
tipos de datos: se trata de distintas maneras de interpretar esos "ceros y unos" en
función de ciertas configuraciones que establecen el espacio utilizado, así como la
representación aplicada para codificar y descodificar esa información. (Campusmvp,
2018).
DATOS PRIMITIVOS

Java cuenta con un pequeño conjunto de tipos de datos primitivos. Podríamos considerarlos
fundamentales, ya que la mayor parte de los demás tipos, los tipos estructurados o
complejos, son composiciones a partir de estos más básicos. Estos tipos de datos primitivos
sirven para gestionar los tipos de información más básicos, como números de diversas
clases o datos de tipo verdadero/falso (también conocidos como "valores booleanos" o
simplemente "booleanos").
De estos tipos primitivos, ocho en total, seis de ellos están destinados a facilitar el trabajo
con números. Se pueden agrupar en dos categorías: tipos numéricos enteros y tipos
numéricos en punto flotante. Los primeros permiten operar exclusivamente con números
enteros, sin parte decimal, mientras que el segundo grupo contempla también números
racionales o con parte decimal.
DATOS PRIMITIVOS
NÚMEROS ENTEROS

En Java existen cuatro tipos destinados a almacenar números enteros. La única


diferencia entre ellos es el número de bytes usados para su almacenamiento y, en
consecuencia, el rango de valores que es posible representar con ellos. Todos ellos
emplean una representación que permite el almacenamiento de números negativos y
positivos. El nombre y características de estos tipos son los siguientes:
Crear un proyecto de nombre Variables, que contenga un Paquete de nombre Clases
y por ultimo una clase llamada Variables. Ahí se desarrollará el contenido temático –
El texto que se encuentre entre “//” de color verde son comentarios que ayudan a
describir lo que se está realizando en el código.
CÓDIGO
NÚMEROS FLOTANTES

Los tipos numéricos en punto flotante permiten representar números tanto muy
grandes como muy pequeños además de números decimales. Java dispone de 2
tipos concretos en esta categoría:
BOOLEANOS Y CARACTERES

Aparte de los 6 tipos de datos que se acaban de ver, destinados a trabajar con
números en distintos rangos, Java define otros dos tipos primitivos más:
DATOS ESTRUCTURADOS EN JAVA

Los tipos de datos primitivos se caracterizan por poder almacenar un único valor. Salvo este
reducido conjunto de tipos de datos primitivos, que facilitan el trabajo con números,
caracteres y valores booleanos, todos los demás tipos de Java son objetos, también llamados
tipos de datos estructurados o "clases".
Los tipos de datos estructurados se denominan así porque en su mayor parte están
destinados a contener múltiples valores de tipos más simples. También se les llama muchas
veces "tipos objeto" porque se usan para representar objetos.
CADENAS DE CARACTERES

• Aunque las cadenas de caracteres no son un tipo simple en Java, sino una instancia
de la clase String, el lenguaje otorga un tratamiento bastante especial a este tipo de
dato, lo cual provoca que, en ocasiones, nos parezca estar trabajando con un tipo
primitivo.
• Aunque cuando se declare una cadena estamos creando un objeto, su declaración no
se diferencia de la de una variable de tipo primitivo:
CADENAS DE CARACTERES

• Las cadenas de caracteres se delimitan entre comillas dobles, en lugar de simples


como los caracteres individuales. En la declaración, sin embargo, no se indica
explícitamente que se quiere crear un nuevo objeto de tipo String, esto es algo que
infiere automáticamente el compilador.
• Las cadenas, por tanto, son objetos que disponen de métodos que permiten operar
sobre la información almacenada en dicha cadena. Así, se encuentran métodos para
buscar una subcadena dentro de la cadena, sustituirla por otra, dividirla en varias
cadenas atendiendo a un cierto separador, convertir a mayúsculas o minúsculas,
etc.
VECTORES-ARRAY

• Los vectores son una estructura de datos que permite almacenar un grupo de datos
de un mismo tipo. También son conocidos popularmente como arrays.
• También es habitual llamar matrices a los vectores Que trabajan con dos
dimensiones.
• Los elementos de un vector o array se empiezan a numerar en el 0, y permiten
gestionar desde una sola variable múltiples datos del mismo tipo.
• Por ejemplo, si se debe almacenar una lista de 10 números enteros, declararíamos un
vector de tamaño 10 y de tipo entero, y no se declararían 10 variables separadas de
tipo entero, una para cada número.
EJEMPLO DE VECTORES
EJEMPLO DE MATRICES
DEFINIDOS POR EL USUARIO

• Además de los tipos estructurados básicos (cadenas y vectores) en Java existen


infinidad de clases en la plataforma y de terceros, para realizar casi cualquier
operación o tarea que se pueda ocurrir: leer y escribir archivos, enviar correos
electrónicos, ejecutar otras aplicaciones o crear cadenas de texto más
especializadas, entre un millón de operaciones más. Todas esas clases son tipos
estructurados también.
• Y por supuesto se pueden crear clases propias para hacer todo tipo de tareas o
almacenar información. Serían tipos estructurados definidos por el usuario.
WRAPPERS

• Java cuenta con tipos de datos estructurados equivalentes a cada uno de los
tipos primitivos.
• Además, otra de las finalidades de estos tipos "envoltorio" es facilitar el uso de
esta clase de valores allí donde se espera un dato por referencia (un objeto) en
lugar de un dato por valor.
• Así, por ejemplo, para representar un entero de 32 bits (int), Java define una
clase llamada Integer que representa y "envuelve" al mismo dato pero le
añade ciertos métodos y propiedades útiles por encima.
ESTOS TIPOS EQUIVALENTES A LOS PRIMITIVOS PERO EN FORMA DE OBJETOS SON:
CONSIDERACIONES

• Ya se conoce un poco las estructuras de las variables dependiendo de su tipo y


de su función, hay características que se deben tener en cuenta al momento de
utilizar las variables dentro del lenguaje:

• No pueden ser una palabra reservada del lenguaje o un literal booleano.

• No puede comenzar con un número.


CONSIDERACIONES

• No debe contener los símbolos que se utilicen como operadores.

• No debe contener espacios entre el nombre.

• Por convención los nombres compuestos deben ir con el primer carácter inicial minúsculo,
el resto de los caracteres iniciales mayúsculos.
CONSIDERACIONES

• Se pueden crear dos variables del mismo tipo contiguamente.

• Se pueden o no iniciar variables.

• Se puede asignar el valor de una variable a una nueva variable.


CASTING

Se puede castear el valor de las variables, es decir pasar de int a double, de String a
int, entre otras combinaciones.
RESUMEN
CONSTANTES

• Una constante desde el punto de vista de la programación es un dato cuyo


valor no cambia durante la ejecución del programa, en otras palabras, una vez
que a una constante se le asigna un valor, este no podrá ser modificado y
permanecerá así durante toda la ejecución del programa.
• Las constantes son útiles para datos o atributos para los cuales el valor no
tiene por qué cambiar. Con esto se puede evitar modificaciones en nuestro
sistema que puedan causar problemas durante la ejecución del mismo.
DECLARACIÓN DE UNA CONSTANTE

La palabra clave que java ha reservado para definir constantes es la palabra "final". En java es
muy simple definir constantes, solo basta con adicionar el modificador “final” antes de la
declaración del tipo.

Hay características que se deben tener en cuenta con las constantes:


• Se pueden declarar N cantidad de constantes, siempre y cuando sean necesarias.
• SIEMPRE debe estar presente la palabra final.
• Se puede o No inicializar la constante en su creación.
• El valor que se asigne no puede ser modificado en ejecución.
TALLER 1 EJERCICIOS

Desarrollar el Taller de Ejercicios No 1


OPERADORES

Un operador lleva a cabo operaciones sobre uno (operador unario), dos (operador
binario) o tres (operador ternario) datos u operandos de tipo primitivo devolviendo un
valor determinado también de un tipo primitivo. El tipo de valor devuelto tras la
evaluación depende del operador y del tipo de los operandos.

Por ejemplo, los operadores aritméticos trabajan con operandos numéricos, llevan a
cabo operaciones aritméticas básicas y devuelven el valor numérico correspondiente.
Los operadores se pueden clasificar en distintos grupos según se muestra en los
siguientes apartados.
OPERADORES DE ASIGNACIÓN

El operador asignación (=), es un operador binario que asigna el valor del término de la
derecha al operando de la izquierda. El operando de la izquierda suele ser el identificador de
una variable. El término de la derecha es, en general, una expresión de un tipo de dato
compatible; en particular puede ser una constante u otra variable. Como caso particular, y a
diferencia de los demás operadores, este operador no se evalúa devolviendo un determinado
valor.

Se crea una variable (numero1) entera (int) y se asigna el valor 8.

Se crea una variable (numero2) entera (int) y se asigna el valor de la variable (numero1).
EJERCICIO

Se imprime el valor de ambas variables concatenando éstas con el “+”.


OPERADORES ARITMÉTICOS

El lenguaje de programación Java tiene varios operadores aritméticos para los datos
numéricos enteros y reales. En la siguiente tabla se resumen los diferentes
operadores de esta categoría.
EJERCICIOS

El resultado exacto depende de los tipos de operando involucrados. Es conveniente tener


en cuenta las siguientes peculiaridades:

El resultado es de tipo long si, al menos, uno de los operandos es de tipo long y ninguno
es real (float o double).
EJERCICIOS DE TIPO ENTERO

• El resultado es de tipo int si ninguno de los operandos es de tipo long y


tampoco es real (float o double).
EJERCICIOS DE TIPO DOUBLE

El resultado es de tipo double si, al menos, uno de los operandos es de tipo


double.
EJERCICIOS DE TIPO FLOAT

El resultado es de tipo float si, al menos, uno de los operandos es de tipo float y
ninguno es double.
FORMATO IMPRESIÓN DE UN RESULTADO

El formato empleado para la representación de datos enteros es el complemento


a dos. En la aritmética entera no se producen nunca desbordamientos (overflow)
aunque el resultado sobrepase el intervalo de representación (int o long).

La división entera o módulo se trunca hacia 0. La división o el resto de dividir por


cero es una operación válida que genera una excepción ArithmeticException que
puede dar lugar a un error de ejecución y la consiguiente interrupción de la
ejecución del programa.
CASOS DE EXCEPCIÓN

La aritmética real (en coma flotante) puede desbordar al infinito (demasiado


grande, overflow) o hacia cero (demasiado pequeño, underflow).
CASOS DE EXCEPCIÓN

El resultado de una expresión inválida, por ejemplo, dividir infinito por infinito, no
genera una excepción ni un error de ejecución: es un valor NaN (Not a Number).
EJERCICIO PRÁCTICO

1. En base a dos números enteros, realice las 5 operaciones básicas vistas hasta el momento y
muestre el resultado.
2. Cree una operación utilizando números enteros y los símbolos aritméticos.
OPERADORES ARITMÉTICOS INCREMENTALES

• Los operadores aritméticos incrementales son operadores unarios (un único


operando). El operando puede ser numérico o de tipo char y el resultado es del
mismo tipo que el operando. Estos operadores pueden emplearse de dos formas
dependiendo de su posición con respecto al operando.
OPERADORES ARITMÉTICOS COMBINADOS

Combinan un operador aritmético con el operador asignación. Como en el caso de


los operadores aritméticos pueden tener operandos numéricos enteros o reales y el
tipo específico de resultado numérico dependerá del tipo de éstos. En la siguiente
tabla se resumen los diferentes operadores de esta categoría.
OPERADORES DE RELACION

Realizan comparaciones entre datos compatibles de tipos primitivos (numéricos,


carácter y booleanos) teniendo siempre un resultado booleano. Los operandos
booleanos sólo pueden emplear los operadores de igualdad y desigualdad.
OPERADORES LÓGICOS

Realizan operaciones sobre datos booleanos y tienen como resultado un valor


booleano. En la siguiente tabla se resumen los diferentes operadores de esta
categoría.
OPERADOR TERNARIO

Este operador ternario permite devolver valores en función de una expresión


lógica.
OPERADOR DE CONCATENACIÓN DE CADENAS

El operador concatenación +, es un operador binario que devuelve una cadena


resultado de concatenar las dos cadenas que actúan como operandos. Si sólo
uno de los operandos es de tipo cadena, el otro operando se convierte
implícitamente en tipo cadena.
OPERADORES DE SEPARACIÓN

Existen algunos
caracteres que tienen
un significado especial
en el lenguaje Java. En
la siguiente tabla se
resumen los diferentes
separadores que
pueden encontrarse en
el código fuente de un
programa.
PRIORIDAD ENTRE OPERADORES

Si dos operadores se encuentran


en la misma expresión, el orden
en el que se evalúan puede
determinar el valor de la
expresión. En la siguiente tabla
se muestra el orden o prioridad
en el que se ejecutan los
operadores que se encuentren
en la misma sentencia. Los
operadores de la misma
prioridad se evalúan de izquierda
a derecha dentro de la
expresión.
LA CLASE MATH

La clase Math representa la librería matemática de Java. Las funciones que


contiene son las de todos los lenguajes, parece que se han metido en una clase
solamente a propósito de agrupación, por eso se encapsulan en Math, y lo mismo
sucede con las demás clases que corresponden a objetos que tienen un tipo
equivalente (Character, Float, etc.).
• REALIZAR EL EJERCICIO 2 DE LA CLASE MATH
PALABRAS RESERVADAS DEL LENGUAJE

Las palabras reservadas, como su nombre lo indican, son


palabras las cuales el lenguaje de programación ya ha
reservado para realizar ciertas tareas, por lo que no pueden
ser usadas para otras. En Java actualmente existen 50
palabras reservadas.

Algo importante a tener en cuenta es que las palabras


reservadas no pueden ser utilizadas como nombres de
variables, clases o métodos. En adición a este listado se
puede agregar true, false y null.

Aunque const y goto son palabras reservadas, estas no son


utilizadas en la actualidad.
VIDEOS COMPLEMENTARIOS

¿Por qué todo el mundo debería saber programar?.


https://www.youtube.com/watch?v=X5Wkp1gsNik

¿Qué es Java y cómo funciona?.


https://www.youtube.com/watch?v=_L4pJhLXyOw

¿Qué es un algoritmo?.
https://www.youtube.com/watch?v=U3CGMyjzlvM
ASPECTOS CLAVES

• Tener muy presente los tipos de datos al momento de declarar todas las variables.
• Java es muy sensible, ten en cuenta las mayúsculas, números y símbolos especiales en todo momento, en tus
proyectos, clases, variables y demás.
• Las palabras reservadas son de vital importancia en el lenguaje, recuerda no utilizarlas para declarar variables y
clases.
• Los operadores tienen una prelación que hay que tener en cuenta a la hora de realizar operaciones.
• Recuerda que todas las instrucciones deben terminar en punto y coma “;”.
• No podemos modificar variables constantes.
• Java es OpenSource.
• Puedes programar hasta desde el block de notas.
• Hay que saber diferenciar entre errores y excepciones.
QUÉ ES UNA CONDICIONAL

Cuando se escribe un programa, se introduce


la secuencia de sentencias. Sin sentencias de
control del flujo, el intérprete (compilador)
ejecuta las sentencias conforme aparecen en
el programa de principio a fin. Las sentencias
de control de flujo se emplean en los
programas para ejecutar sentencias
condicionalmente, repetir un conjunto de
sentencias o, en general, cambiar el flujo
secuencial de ejecución. (Arkaitzgarro, 2018)
ESTRUCTURA CONDICIONAL IF

La estructura condicional más simple en Java es el if, ésta


se encarga de evaluar una condición, que para el correcto
funcionamiento retornará un valor booleano, en caso de
que se cumpla (true) se ejecuta el contenido entre las
llaves {}. O en caso de que se omitan se ejecuta el código
hasta el primer punto y coma “;” por lo tanto si no se usan
los “{}”, la condición aplica solo a la siguiente instrucción
al if. (Arkaitzgarro, 2018).
ESTRUCTURAS CONDICIONALES CIERTOS FACTORES Y
CARACTERÍSTICAS:

• Al Java ser tan sensible, se debe tener en cuenta la correcta forma de diseñar una
estructura condicional. Siempre se debe nombrar el if en minúscula, su respectiva
condición en paréntesis y un valor opcional (aunque es lo más recomendable) de
ejecución dentro de su cumplimiento (condición verdadera).
La condición no se limita a una sola sentencia, se pueden tener en cuenta las
sentencias necesarias con el requisito de que siempre debe retornar un valor
booleano.
CONSIDERCIONES

En la condicional se encuentran 2 sentencias a evaluar: (1) 2 < 9 y (2) 2 <= 4


separadas por el operador lógico “&&” (Tabla 7 – Operadores lógicos – Módulo 1)
que se encarga de evaluar que ambas sentencias (1) y (2) sean verdaderas para
el cumplimiento del “if”.
• (1) Retornará verdadero debido a que 9 sí es menor a 12.
• - (2) Retornará verdadero debido a que 2 sí es menor a 4, pese a que no es
igual (<=).
CONSIDERACIONES TABLA DE VERDAD

Dado que ambas sentencias de condición retornan verdadero, la condición del if se


cumple. Observe la siguiente tabla de verdad de operadores lógicos para dar mayor
claridad.

En la tabla se encuentran 2 variables booleanas (1) P y (2) Q, con un valor de


inicialización (true o false) y 3 series de casos dónde se pone a prueba la variación a la
que se pueden enfrentar, hay que tener presente la tabla de operadores lógicos para
entender el siguiente ejercicio.
En la fila número 1 el resultado es el esperado, en
la serie número 1 con el operador de producto
lógico cortocircuito “&&” al cumplirse que (1) y (2)
son true, la condicional se ejecutará como
verdadera. En la serie número 2, con el operador
de suma lógica cortocircuito “||” al cumplirse que
(1) o (2) son al menos uno true, la condicional se
ejecutará como verdadera. En la serie número 3,
con el operador de negación “!” al no cumplirse
que (1) es true, por la negación, la condicional no
se ejecutará cómo verdadera.
CONDICIONAL DOBLE IF-ELSE

• Hasta el momento la estructura condicional if ha servido para ilustrar los casos en


los que una sentencia encerrada en la condicional al momento de retornar un valor
booleano true, permite ejecutar código a parte a raíz del mismo resultado, pero
existen casos en qué se necesita un complemento al if, en casos de que no se
cumpla la condicional, ¿qué hará el programa?, ahí entra en juego la estructura
condicional else que permite dentro del programa dictaminar una secuencia de
instrucciones en caso de que el if no retorne un valor true y encerrarlas dentro de
{} para su posterior ejecución.
• El ejemplo más claro es el de beber un café (ilustración 1), donde se determinan
una serie de casos a raíz de los resultados que la condicional va arrojando.
EJEMPLO

Es simple de entender el funcionamiento del else que


juega el papel de la negación, es decir el false y permite
fraccionar el código para los casos particulares en que se
necesita segmentar el código.

Hay una particularidad que se debe tener en cuenta a la


hora de realizar operaciones booleanas con caracteres, y
es la siguiente, la manera de comparar cadenas de texto
es utilizando el equals.
¿QUÉ ES EQUALS?

Se encarga de comparar la cadena de texto contra un objeto. Que


devolverá true si las cadenas comparadas son iguales. En caso contrario
devolverá false.
Diferencia entre equals () y “==”
En general, los operadores equals () y “==” en Java se usan para comparar objetos
para verificar la igualdad, pero aquí hay algunas de las diferencias entre los dos:
1. La principal diferencia entre el método .equals () y el operador == es que uno
aplica para objetos y variables y el otro sobre variables.
2. Se puede usar los operadores == para la comparación de referencias
(comparación de direcciones) y el método .equals () para la comparación de
contenido. En palabras simples, == comprueba si ambos objetos apuntan a la
misma ubicación de memoria, mientras que equals () evalúa la comparación de
valores en los objetos.
CONSIDERACIONES

• Cuando se da utilidad al else, se debe tener en cuenta que la aplicación de éste le debe
preceder la estructura condicional if; y que en caso de cumplirse la segunda (if) anula
completamente la función del else.
• Siempre que se desee utilizar una sentencia condicional con else, se debe determinar
que la aplicación sí es necesaria. Java admite else {} sin sentencias que ejecutar, pese a
que no es una buena práctica.
Ahora que has visto un poco cómo funcionan las condicionales en Java, te sugerimos
realizar los siguientes ejercicios que te ayudarán a profundirzar el tema y llenar vacíos
(MÓDULO 2 – EJERCICIOS DE CONDICIONALES SIMPLES).
ESTRUCTURA CONDICIONAL IF ELSE

En base a las dos estructuras condicionales vistas, existe una


derivación de ambas, que su utilidad se ve en el momento en el que las
condicionales estructuradas como if else ocupan una validación
adicional dentro del else, véase como “sí no se cumple la condición,
haga lo siguiente siempre y cuando se cumpla una nueva condición”.

La estructura else if es de gran importancia cuando se ocupa para


revalidar una condición dentro de un else como la función de un
cortafuego, que puede ir de sentencia en sentencia evaluándose hasta
encontrar el retorno correcto. Para ejemplificar de mejor forma lo
anterior, analícese el siguiente ejercicio:
EJEMPLO

• En ECUADOR hay medidas que regulan la velocidad de los automóviles según las
zonas donde se encuentre:
• - 30KM/H – Zonas Escolares
• - 70KM/H – Vías Urbanas
• - 90KM/H – Vías Perimetral
• - 100KM/H – Rutas Nacionales

Realice un algoritmo que permita determinar según una velocidad X, a qué grupo de
límites pertenezco y si estoy infringiendo los límites de velocidad.
CÓDIGO
RESOLUCIÓN

En el ejercicio anterior se observa la aplicación donde el else if cumple la función de evaluar otra
sentencia previa a la ejecución del else, en caso de no estar este else if, la condicional se
quedaría estancada en únicamente 2 posibles resultados (no exactos para el caso):

No se saldría de la sentencia número 1 o el resultado equívoco de la misma. Además, el uso de


else’s repetidamente es erróneo en el lenguaje por la sintaxis, dado que no puede contener dos
o más posibles resultados para un solo caso erróneo:
USO CORRECTO ELSE IF

Hay casos en que no aplica necesariamente el uso del else if, y son aquellos
donde sólo ocupamos dos resultados un sí o un no únicamente:
USO CORRECTO DEL ELSE IF

Por definición se sabe que sí el número no es mayor o igual a 0, va a ser negativo. Aunque el
funcionamiento no se vería afectado en caso de agregarse un else if. Véase:

La segunda sentencia (numero < 0) puede sobrar en caso de que se quiera, en este ejemplo
es como un segundo seguro de que se está validando que efectivamente el número sea menor
que 0 (negativo) pese a que el else lo hace implícitamente.
ESTRUCTURAS CONDICIONALES ANIDADAS

A un paso más allá de las estructuras pasadas, están las


condicionales anidadas que permiten ejecutar una sentencia a
partir de una condición en forma de ciclo hasta encontrar el
retorno esperado (Cumplimiento de la condición), si ésta
condición se cumple, entonces se ejecuta la sentencia en el
programa, en caso de no cumplirse dicha condición, se puede
hacer otra condición en el programa para que se cicle, marque
error y vuelva a solicitar la información hasta que se cumpla la
condición, de no validarse la condición al igual que en los casos
anteriores, se puede definir un caso base donde retornará un
valor que se espera. (michelletorres, 2018).
CONDICIONALES ANIDADAS

A diferencia de las estructuras pasadas, las condicionales anidadas proveen un abanico


mucho más amplio de posibilidades y combinaciones booleanas para determinar más casos y
resultados, hay varios aspectos a recordar cuando se utilicen condicionales anidadas.
• Utilizar únicamente las condicionales necesarias.
• Evitar redundancias en las sentencias.
• Siempre se debe tratar de tener un retorno en caso de que ninguna condicional se aplique.
• Tener muy presente el uso correcto de las llaves y estar dentro de las condicionales
correctas debido al volumen de las mismas.
Es importante poner ese conocimiento a prueba. Realiza los siguientes ejercicios con
condicionales un poco más complejas. (MÓDULO 2 – EJERCICIOS DE CONDICIONALES
COMPLEJAS).
SWITCH CASE (CONDICIONAL DE SELECCIÓN)

La instrucción Switch es una instrucción de múltiples vías


(condicionales) que proporciona una forma sencilla de
enviar la ejecución a diferentes partes del código en función
del valor de la expresión. Básicamente, la expresión puede
ser tipos de datos primitivos byte, short, char e int. A partir
de JDK7, también funciona con tipos enumerados (Enum en
java), la clase String y las clases Wrapper. (javadesdecero,
2018).
CONSIDERACIONES

Como en las estructuras pasadas hay varios factores a tener en cuenta a la hora de desarrollar
estructuras condicionales por medio Switch case.

• Los valores duplicados de los case no están permitidos.

• El valor para un case debe ser del mismo tipo de datos que la variable en el Switch.
CONSIDERACIONES

El valor para un case debe ser una constante o un literal. Las variables no están
permitidas

La declaración break se usa dentro del Switch para finalizar una secuencia de instrucción
CONSIDERACIONES

La declaración break es opcional. Si se omite, la ejecución continuará en el siguiente


case.

La instrucción default es opcional, y debe aparecer al final del Switch como último
caso cumpliendo con similitud la función del else.
CONSIDERACIONES

Se puede realizar cualquier tipo de operación dentro de la declaración del case.

Como se observa el papel que cumple el Switch case es muy similar a la función de
una condicional anidada con menos instrucciones de código y con una sola sentencia
a evaluar.
BREAK Y CONTINUE

Las palabras reservadas break y continue, se utilizan en Java para detener


completamente un ciclo (break) o detener únicamente la iteración actual y saltar
a la siguiente (continue). Normalmente si se usa break o continue, se hará
dentro de una sentencia if, que indicará cuándo se debe detener el ciclo al
cumplirse o no una determinada condición.
La gran diferencia entre ambos es que, break, detiene la ejecución del ciclo y
salta a la primera línea del programa tras el ciclo y continue, detiene la iteración
actual y pasa a la siguiente iteración del ciclo sin salir de él (a menos, que el
propio ciclo haya llegado al límite de sus iteraciones).
BREAK

NOTA: La sentencia continue debe estar siempre incluida dentro de un ciclo, sino
recibiréis un error de compilación. Mientras que la sentencia break, se puede encontrar
dentro de un bucle o en una sentencia Switch case).
La sentencia continue provoca que únicamente la iteración actual del ciclo más interno
detenga su ejecución y que comience inmediatamente la siguiente iteración si el ciclo
todavía no ha terminado. Por ejemplo:
CONTINUE

Pese a que la estructura del ciclo for esté desarrollada para realizar 10 iteraciones, la
sentencia break dentro de su funcionabilidad corta el ciclo en la primera iteración y se
sale del mismo.
En el caso del uso del continue, funciona de la siguiente forma:
El ciclo está declarado para iterar 5 veces en su estructura, la condicional presente
OMISIÓN DE LA DECLARACIÓN BREAK

Como la declaración break es opcional. Si se


omite el break, la ejecución continuará en el
siguiente case. A veces es deseable tener
múltiples case sin declaraciones break entre
ellos. Por ejemplo, determinar en un Switch case
los días laborales de la semana.

Se observa como la omisión del Break simplifica


la creación y ejecución de varios bloques clase
resumiendo todos en dos únicos casos de
retorno (Día laborable – Fin de semana).
SWITCH CASE ANIDADOS

Se puede usar un Switch como parte de


la secuencia de la declaración de un
Switch externo. Esto se llama un Switch
anidado. Como una instrucción de Switch
define su propio bloque, no surgen
conflictos entre las constantes de case
en el Switch interno y las del Switch
externo. Por ejemplo:
SWITCH CASE CON STRING

Desde JDK 7, se puede usar una cadena


literal/constante para controlar una declaración
Switch. Usar un modificador basado en
cadena/String es una mejora con respecto al uso
de la secuencia equivalente if/else.
CONSIDERACIONES

Operación costosa: el “Switching” de String puede ser más costosa en términos de ejecución que el Switching de
tipos de datos primitivos. Por lo tanto, es mejor activar el Switch con String solo en casos de que los datos de
control ya estén en forma de cadena.
String no debe ser NULL: asegúrese de que la expresión en cualquier instrucción Switch no sea nula mientras se
trabaja con cadenas para evitar que una NullPointerException sea lanzada en tiempo de ejecución.
Case Sensitive – mayúsculas/minúsculas: la instrucción Switch compara el objeto String en su expresión con las
expresiones asociadas con cada etiqueta de case como si estuviera usando el método String.equals; en
consecuencia, la comparación de objetos String en sentencias Switch es sensible a mayúsculas y minúsculas.
Mejor que if-else: el compilador Java genera bytecode generalmente más eficiente a partir de sentencias Switch
que usan objetos String que de sentencias if-else anidadas.

El Switch termina siendo una excelente variante al uso de if/else por lo que es importante entrar en detalle de su
correcto uso y aplicación. Te recomiendo realizar los siguientes ejercicios para fortalecer tus competencias.
(MÓDULO 2 – EJERCICIOS – SWITCH CASE).
CICLOS

Los ciclos son una estructura de control de total importancia para el proceso de
creación de un programa. Java y prácticamente todos los lenguajes más populares
de la actualidad permiten hacer uso de estas estructuras. Un ciclo en Java permite
repetir una o varias instrucciones cuantas veces sea necesario, por ejemplo, si se
desean escribir los números del uno al cien no tendría sentido escribir cien líneas
de código mostrando un número en cada una de estas, para eso y para varias
cosas más es útil un ciclo. Un ciclo ayuda a llevar a cabo una tarea repetitiva en
una cantidad de líneas muy pequeña y de forma prácticamente automática.
(programarya, 2018)
TIPOS DE CICLOS

Existen diferentes tipos de ciclos o bucles en Java, cada uno tiene una
utilidad para casos específicos. Se tiene en Java las siguientes estructuras:
- Ciclos For
- Ciclos While
- Ciclos do While
CICLO FOR

Los ciclos For (o ciclos para) son una estructura de control cíclica, que permite ejecutar
una o varias líneas de código de forma iterativa (o repetitiva), pero teniendo control y
conocimiento sobre las iteraciones. En el ciclo For, es necesario tener un valor inicial, una
condición y valor final, y opcionalmente hacer uso del tamaño del "paso" entre cada
iteración del ciclo.

Es decir, un ciclo For es una estructura iterativa para ejecutar un mismo segmento de
código una cantidad de veces deseada; conociendo previamente un valor de inicio, un
tamaño de paso y un valor final para el ciclo.
ESTRUCTURA DEL CICLO FOR

La estructura del ciclo For se componen de 3 elementos fundamentales:


- Valor de inicio: determina a partir de qué momento y de qué valor el ciclo inicia las
iteraciones.
- Condicional – Valor de parada: evalúa los casos en que el ciclo realizará las iteraciones y
el momento en qué terminarán.
- Valor de incremento - decremento: realiza un incremento o decremento al valor de inicio
para realizar las iteraciones.
CONSIDERACIONES

Al igual que ocurre con las condicionales, dentro de la declaración de las llaves se ubica
respectivamente el código que se desea ejecutar de forma repetitiva, los componentes que
definen la estructura son de acuerdo a cómo se detallan en la ilustración 20, separados por
punto y coma “;”, esa es la estructura recomendaba, aunque hay casos especiales que por
declaración se puede diseñar de forma diferente, por ejemplo:
• Creación de valor de inicio fuera del ciclo:

• Incremento o decremento dentro del ciclo:


CONSIDERACIONES

Sentencias adicionales dentro de la declaración del ciclo:

Omisión del uso de las llaves:

Los casos anteriores son respetados por Java y su uso no tiene ninguna afectación en
la estructura de funcionamiento, aunque se recomienda usar la forma tradicional.
EJERCICIOS

Desarrollar un programa que muestre los números pares entre 0 – 20 de forma ascendente.

Para este caso, se conocen de entrada los valores de inicio (0) y cierre/final del ciclo (20), el
ejercicio debe mostrar únicamente valores pares, el incremento debe ser diferente al visto
en los ejemplos de la estructura (i++) dado que, al declarar el incremento en uno, el
ejercicio imprimiría todos los valores que hay entre 0 y 20 (0,1,2…18,19 y 20); el ejercicio
funcionaría con un incremento unario en el siguiente caso:
EXPLICACIÓN DEL EJERCICIO

• Dado que se recorre uno a uno todos los valores, pero posteriormente válida por
medio de la condicional que únicamente muestre valores divisibles entre 2 (recuerda
el uso del módulo “%”) y cumple la misma función del primer método, aunque con
más líneas de código, lo cual no es eficiente.
• Retomando el primer método, el incremento debe ser en (i+=2) para que las
iteraciones se realicen adecuadamente e intervalos de dos (2) en dos (2) hasta el
valor de parada que será (20).
• ¿Cómo sería el ejemplo anterior descendentemente? Es decir, no de 0 a 20, sino de 20
a 0.
EJERCICIO

Desarrollar un programa que permita contar cuántos números entre 1 y 1000


son múltiplos de 7, mostrar el resultado final.
EJERCICIO2

Desarrollar un problema que imprimir las tablas de multiplicar del 1 al 10 con su


respectivo resultado.
¿Se puede tener un ciclo dentro de un ciclo?
ITERACIONES

El uso de un ciclo dentro de un ciclo es una operación que se puede realizar


con normalidad dentro del programa y opera de la siguiente forma:

Detenidamente el uso de un ciclo (1) dentro de otro ciclo (2) condiciona a que
éste (2) se repita las veces que (1) tenga expresadas. Como se observa en el
ejemplo anterior, el ciclo (1) cuenta con 2 iteraciones, al igual que el ciclo (2)
y se
El ciclo ejecuta
for ayuda de la actividades
a realizar siguiente muy
forma:
repetitivas y realizar operaciones con volumenes de
datos grandes. Te recomiendo realizar los siguientes ejercicios para fortalecer tus competencias.
(MÓDULO 2 – EJERCICIOS – CICLO FOR).
CICLO WHILE

• Los ciclos While (o ciclos mientras) son una estructura de control cíclica, que
permite ejecutar una o varias líneas de código de forma iterativa (o repetitiva)
al igual que el ciclo for, pero teniendo control y conocimiento sobre las
iteraciones. En el ciclo For, era necesario tener un valor inicial, una condición y
valor final, en el ciclo While únicamente se tiene control del ciclo por medio de
una condicional en la declaración que determina sí el ciclo continúa o se detiene,
por lo que la sintaxis es más simple.
WHILE

Es decir, un ciclo While es una estructura iterativa


para ejecutar un mismo segmento de código, con
la particularidad de que en la mayoría de los
casos se desconoce la cantidad de veces deseada
iterar por el hecho de no tener un valor de inicio y
un valor de parada, puesto que sí se conoce la
cantidad de veces que se desea iterar es más
simple el uso del ciclo for.
ESTRUCTURA

• La estructura del ciclo While se componen principalmente de una


condición que tiene que tomar un valor booleano (verdadero o falso). Si
este valor es verdadero, se ejecutará la sentencia. Concluida esta acción
se vuelve a evaluar la condición. Proseguirán los ciclos hasta que la
condición cambie a falso.
• Esta es una estructura de iteración preprueba, es decir primero se evalúa
la condición antes de realizar cualquier acción. Si de entrada la condición
es falsa nunca ejecutará el conjunto de sentencias.
ESTRUCTURA

Al igual que ocurre con las condicionales, dentro de la declaración de las llaves se
ubica respectivamente el código que se desea ejecutar de forma repetitiva en
caso de obtener un resultado verdadero, los componentes que definen la
estructura son de acuerdo a cómo se detallan en la ilustración 21, una variable
para el control de la condicional, la respectiva y característica condicional (el
punto más importante) y finalmente la iteración (incremento, decremento o
cambio), esta es la estructura recomendaba.
EJERCICIOS

Desarrollar un programa que imprima los números impares entre 1 y 25.

Este caso tiene un funcionamiento simple y una aplicación similar


a los ejercicios desarrollados con la estructura del ciclo for; el
valor de inicio y final del ciclo lo determina el ejercicio (1 – 25),
la condición principal que se debe determinar dentro del While
debe ser recorrer el ciclo siempre y cuando se cumpla la
condición (ser menor o igual a 25), el incremento como se
especifica en la estructura debe ser dentro del mismo ciclo y
gradualmente en uno (1) es decir (i++). Dentro de las sentencias
a ejecutar dentro del ciclo se encuentra la condicional que
determina qué número es impar por medio del módulo (%) y el
operador de diferencia (! =) dado que un número entero cuyo
módulo sea diferente a 0 significa que es un número impar.
EJERCICIO 2

Desarrollar un programa que, dada una palabra, descomponer todos sus


caracteres.

Hay dos métodos nuevos que se aplican para


solucionar este ejercicio y que son muy útiles,
éstos son:
- Length (): Devuelve el número de caracteres del
String, vector y otras estructuras de datos.

Se debe tener en cuenta que el método al igual


que lo hace el charAt, reconoce el espacio como
un carácter.
FUNCIONES LENGHT Y CHARAT
CHARAT

charAt (): Devuelve el carácter de una posición del String.


Para describirse mejor el método charAt, este se aplica sobre variables de tipo
String y se encarga de descomponer la variable en posiciones de 0 a N-1 (N siendo
el número de caracteres) a las cuales se puede acceder por medio de un índice (un
número asignado a la posición) por ejemplo:

La palabra “Diego” está compuesta por 5 caracteres por lo que debe tener 5
posiciones asignadas a cada carácter (Recordar que siempre se empieza desde 0)
como se observa en la tabla), ¿cómo sería el código?
EJEMPLO CHARAT CON USO DE WHILE

Lo primero a tener en cuenta es el uso correcto de las posiciones y evitar el desborde en el


recorrido de la palabra, el desborde se presenta al buscar una posición que no existe dentro
de la palabra. Por ejemplo, como se observa en la tabla, la palabra “Diego” cuenta con 5
caracteres, pero la posición 5 no existe (Recuerda el N-1) y arroja lo siguiente al ejecutar:
CONCLUSIÓN

• Determinar la condicional dentro del ciclo define el correcto funcionamiento del


ejercicio, permite aclarar el caso final de parada del ciclo y evita el desbordamiento
en el recorrido de la palabra.
• Otra característica a tener en cuenta es el reconocimiento del método charAt como
un carácter al espacio en blanco.
EJERCICIO

• Desarrollar un programa que genere


números aleatorios entre 1 y 50 y se
detenga cuando genere un múltiplo de 10.
• Este es uno de los casos donde la
implementación del ciclo While es más
efectiva, dado que no se conoce cuántas
veces debe iterar el ciclo, pero sí se conoce
el caso de parada, un ciclo for no tendría la
isma funcionabilidad que el While por su
estructura:
RESOLUCIÓN

• Para la solución de este ejercicio se utilizará lo que se conoce como banderas, las
banderas son variables booleanas que cambian cuando se cumplen ciertas
características que se determine en el código, en este caso la bandera será la variable
X inicializada en verdadero (para realizar la primera iteración del ciclo) y el cambio de
la bandera a X se dará cuando el número generado sea un múltiplo de 10 (Recordar
el uso del módulo). Para generar un número aleatorio se utiliza como se ha visto la
clase Math con su método random para generar los números entre 1 y 50.
• La ejecución del ejercicio termina cuando inmediatamente encuentre el primer
múltiplo de 10, dado que se desconoce en qué momento se generará, se utiliza el
ciclo While y la bandera.

(MÓDULO 2 – EJERCICIOS – CICLO WHILE).


¡Inténtalo! 👍
CICLO DO WHILE

Esta estructura de iteración cumple el


mismo objetivo de la estructura While
con la variante que el ciclo do While
ejecuta cuando menos una vez antes
de evaluarse la condición del ciclo por
lo que siempre se tendrá una iteración
así el ciclo nunca haya entrado en
ejecución.
ESTRUCTURA DEL CICLO DO WHILE

La estructura del do ciclo While cuenta con los mismos componentes del ciclo While
en cuando a su forma de funcionar, con la implementación del do, que se encarga de
almacenar las sentencias que se ejecutarán en todas las iteraciones para su posterior
ejecución.

Esta es una estructura de iteración - prueba, es decir primero se ejecutan las


sentencias del ciclo una vez y después se evalúa la condición antes de realizar las
iteraciones esperadas. Si de entrada la condición es falsa, se tendrá una ejecución
previa al menos.
ESTRUCTURA DO WHILE

Al igual que ocurre con las condicionales, dentro de la declaración de las llaves
respectivas del do, se ubica el código de las sentencias que se desean ejecutar
de forma repetitiva en caso de obtener un resultado verdadero, los componentes
que definen la estructura son de acuerdo a cómo se detallan en las ilustraciones
20, una variable para el control de la condicional, un bloque encargado de
ejecutar las sentencias y finalmente la respectiva y característica condicional del
ciclo.

El ciclo do while representa una pequeña variante del ciclo while. Te recomiendo
realizar los ejercicios resueltos con el uso del ciclo for y while, pero aplicando la
estructura de iteración do while.¡Inténtalo! 👍
VECTORES

• Los vectores son una estructura


de datos que permite almacenar
un grupo de datos de un mismo
tipo. También son conocidos
popularmente como arrays.
• También es habitual llamar
matrices a los vectores
• que trabajan con dos
dimensiones.
ESTRUCTURA DE UN VECTOR

Los elementos de un vector o array se empiezan a numerar en el 0, y permiten


gestionar desde una sola variable múltiples datos del mismo tipo.

Al igual que en la aplicación del método charAt, en los arreglos cada dato
almacenado le corresponde un índice, dado que, a partir de los índices, se
operan los vectores.
ESTRUCTURA DEL VECTOR

El tamaño del vector no puede ser re definido.

Los vectores pueden ser de N posiciones, siendo N cualquier número entero.


ESTRUCTURA

Los vectores inicializados sin datos, se representan de la siguiente forma por defecto:
1. Vectores de números, se inicializan en 0 los valores de las posiciones.

2. Vectores de cadenas de texto, se inicializan en vacío o null los valores de las


posiciones.
ESTRUCTURA

3. Vectores de booleanos, se inicializan en false los valores de las posiciones.

Los vectores se pueden declarar únicamente o declarar e inicializar como ocurre con las
variables.

Para el uso de vectores es habitual utilizar ciclos para realizar las operaciones dentro de los
mismos, dado que los ciclos permiten definir índices que pueden ser aplicados dentro de los
vectores.
EJERCICIOS

Desarrollar un programa que, mediante el uso de dos vectores, permita almacenar


las 5 notas de un estudiante para calcular su promedio final, los valores para
calcular el promedio se encuentran en un vector a parte que contiene los
porcentajes asignados a cada nota.
El ejercicio opera de la siguiente forma, se deben implementar dos estructuras de vectores para
almacenar los siguientes datos:
Las notas del estudiante, que en este caso son 5 en un vector double dado que las notas tienen
coma flotante.

La fórmula para obtener el promedio es simple, se conoce la cantidad de notas, el porcentaje


asignado a cada nota y el valor de las notas, con una simple operación aritmética se puede
realizar:
EJERCICIO

Desarrollar un ejercicio que, dado un vector de 5 nombres, cambie todas las


letras de los nombres por números, de manera que el nombre termine estando
compuesto por sólo números, por ejemplo:
1. “DIEGO” – “129851”
2. “JUAN” – “6731”

Observe la siguiente tabla para definir el valor en número de cada letra.


EJERCICIO
RESOLUCION

Este es un ejercicio un grado de dificultad más alto a los ejercicios pasados, dado que
se implementan todos los conocimientos adquiridos hasta el momento para su correcto
funcionamiento, hay condicionales, ciclos, vectores, contadores, concatenación y
variables.

En base a la tabla proporcionada donde se encuentran los valores numéricos asignados


a cada carácter, se determinan 2 vectores con esa información:

El vector que define los caracteres del abecedario.


VECTOR

El vector que define los valores numéricos asignados a los caracteres del
abecedario.

• Es fácil manejar la relación de ambos vectores, dado que tienen la misma


longitud, por ende, el valor de la posición 0 del vector de caracteres, le
corresponde el número 0 del vector de números.
• Y adicionalmente, el vector con los nombres correspondientes a operar, que para
el caso práctico son 5. Además, hay variables del caso que se deben declarar para
auxiliar la operación correcta del ejercicio.
RESOLUCIÓN

La variable X para administrar el ciclo While.

La variable auxiliar nombreAuxiliar que permitirá almacenar el nombre en valores


numéricos.

Para el ejercicio hay definidos 3 estructuras de iteración, 2 ciclos for y 1 ciclo While.

El ciclo While recorrerá el vector de los nombres.


RESOLUCIÓN

El ciclo for número uno recorrerá los caracteres de cada nombre.

El ciclo for número dos recorrerá los caracteres del vector de caracteres del
abecedario ya definido.

Una condicional para determina qué carácter del nombre le equivale qué número
ya establecido:
LA CONDICIONAL OPERA GRACIAS AL FUNCIONAMIENTO DE LOS 3 CICLOS DE LA
SIGUIENTE FORMA:
• Finalmente se reemplaza el nombre de la iteración actual con el nombre creado
en base a números:

• Se imprime el resultado del nombre nuevo:

• Se reinicia la variable auxiliar para la próxima iteración:

• Se realiza el incremento para las próximas iteraciones:


por eso te propongo realizar los siguientes ejercicios.
(MÓDULO 2 – EJERCICIOS CON VECTORES)
¡Inténtalo!
MATRICES

Las matrices son una estructura de


datos que permite almacenar un grupo
de datos de un mismo tipo al igual que
ocurre con los vectores, pero de una
forma bidimensional de forma que se
representan como una tabla con un
vector para filas y otro para columnas.
ESTRUCTURA DE UNA MATRIZ

Los elementos de una matriz o array bidimensional se empiezan a numerar en el


0,0 (Haciendo referencia a las filas y las columnas), y permiten gestionar desde
una sola variable múltiples datos del mismo tipo.
CONSIDERACIONES

La cantidad de datos que se pueden almacenar los determinan las filas y las
columnas por medio de la multiplicación de sus valores, por ejemplo:

Matriz [2][8]: Permitirá almacenar 16 valores.


Matriz [3][15]: Permitirá almacenar 45 valores.
Cada dato almacenado dentro de la matriz le corresponde dos índices, uno que
determina en qué fila se encuentra el dato y otro en qué columna, dado que, a partir
de los índices, se acceden a los datos.
EJEMPLO

En la representación anterior de una matriz 4*4, tiene almacenados 5 datos en las


siguientes posiciones:
CONSIDERACIONES

El tamaño de la matriz no puede ser re definido.

Las matrices pueden ser de N*M posiciones, siendo N


y M cualquier número entero.
LAS MATRICES INICIALIZADAS SIN DATOS, SE
REPRESENTAN DE LA SIGUIENTE FORMA POR
DEFECTO:
1. Matrices de números, se inicializan en 0 los valores de las posiciones.

2. Matrices de cadenas de texto, se inicializan en vacío o null los


valores de las posiciones.
3. Matrices de booleanos, se inicializan en false los valores de las posiciones.

Las matrices se pueden declarar únicamente o declarar e inicializar como


ocurre con las variables.
USO DE MATRICES

Para el uso de matrices es habitual


utilizar ciclos para realizar las
operaciones dentro de los mismos, dado
que los ciclos permiten definir índices
que pueden ser aplicados dentro de las
matrices, sólo que, a diferencia de los
vectores, se deben usar dos ciclos para
recorrer la matriz, uno se encarga de
recorrer las filas y otro de recorrer las
columnas. Ejemplo de matriz 3*3
EJERCICIOS

Desarrollar un programa que dada


una matriz de 5*4, almacene
números aleatorios entre 0 y 100 en
todas sus posiciones. Luego mostrar
la matriz en forma de tabla.
EXPLICACIÓN

• Este ejercicio es interesante para determina correctamente cómo operan las


matrices, puede contener menos líneas y ser más eficiente, pero para el caso
de explicación se desarrolló así:
• El ejercicio determina el tamaño de la matriz que será de 5 – Filas * 4 –
Columnas respectivamente, por lo que podrá almacenar un máximo de 20
valores en su estructura.
• Los ciclos son los encargados de operar las matrices, como se describía en su
estructura, en la mayoría de los casos se usan dos (2) para el recorrido, uno
que se encarga de las filas y otro de las columnas:
El primer ciclo se encarga de recorrer las filas, 5 para el caso en mención (Se
utiliza el ciclo for dado que se conoce el número de iteraciones que se deben
realizar), y dentro de este un segundo ciclo encargado de recorrer las columnas,
4 para el caso en mención como se demostraba el funcionamiento de un ciclo
dentro de un ciclo en la estructura for, el según ciclo opera cuantas veces el
primero esté definido. Por ende, el segundo ciclo de cuatro (4) iteraciones, se
repetirá cinco (5) veces como está definido el primero.
RECORRIDO DEL CICLO

Como se muestra en la tabla anterior por cada


iteración del ciclo 1, se obtendrán 4 iteraciones
del ciclo 2, se forma que el resultado de
iteraciones totales del ciclo 2 será de 20, el
mismo valor de datos esperados para almacenar.
En los parámetros que recibe la matriz para el
almacenaje de datos, están los dos grupos de
corchetes, uno encargado para delimitar las filas
con los índices del primer ciclo y el segundo
delimita las columnas a partir del segundo ciclo
con sus respectivos índices, para la inserción,
dado que son números aleatorios entre un rango
especificado, se implementa la clase Math, con el
método random para ser generados los
números.
POSTERIORMENTE A LA INSERCIÓN DE LOS DATOS, SE ENCUENTRA LA
IMPRESIÓN DE LOS MISMOS.

El proceso es similar a la inserción dos


ciclos recorren la matriz por filas y
columnas e imprimen los respectivos datos
en las posiciones determinadas. Para la
impresión en forma de tabla, se adiciona
una instrucción de impresión vacía para
hacer saltos de líneas cada que se recorra
una fila.
EN BASE AL EJERCICIO ANTERIOR, REALIZAR LAS
SIGUIENTES OPERACIONES:

• 1. Suma de todos los valores.


• 2. Resta de todos los valores.
• 3. Multiplicación de todos los valores.
• 4. Raíz cuadrada de la suma de todos los valores.
• 5. División de la multiplicación por la suma.
EXPLICACIÓN

• En base al código del ejercicio anterior simplemente se deben realizar unas variantes:
• Primer se deben declarar las variables en las que se van a almacenar las operaciones a
realizar en base a la matriz:
• Una variable entera para la suma inicializada en 0 (Para poder realizar la acumulación en base
a la matriz)
• Una variable entera para la resta inicializada en 0 (Para poder realizar la acumulación en base
a la matriz)
• Una variable entera inicializada en 1 para la multiplicación (Se inicializa en 1 dado que, si se
hace en 0, los resultados de las multiplicaciones serían 0)
• Una variable de coma flotante para la división
• Una variable de coma flotante para la raíz
LA ACUMULACIÓN DE DATOS SE PUEDE HACER EN DOS LUGARES:

- En la inserción
- En la impresión
En la inserción exactamente después de realizar el guardado de los datos en la matriz, se
realizaría la acumulación en las variables declaradas he inicializadas previamente en base
a los índices del ciclo.
En la impresión, en el mismo recorrido de los ciclos post impresión o pre impresión,
funcionaría de igual forma los acumuladores, véase:
En base a los acumuladores se obtienen los valores finales de la suma, la resta y la
multiplicación de todos los valores, ya que, con estos se obtendrán:
- La división
- La raíz
Dos operaciones aritméticas sencillas para posteriormente mostrar los resultados en pantalla.

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