GD2 Java
GD2 Java
PROGRAMACIÓN EN JAVA
Guía didáctica 2: Estructuras de iteración, condición y
vectores
1
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Se espera que con los temas abordados en la guía didáctica del módulo 2:
Estructuras de iteración, condición y vectores, el estudiante logre la siguiente
competencia específica:
➢ Comprender las diferentes estructuras condicionales y de iteración para
almacenamiento de datos en vectores y matrices.
Estrcuturas condicionales
Ciclos
Vectores
Matrices
2
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Tema 1: Estructuras condicionales
Estructura condicional if
La estructura condicional más simple en Java es if, esta 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
3
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
({}). En caso de que se omita, se ejecuta el código hasta el primer punto y coma (;)
por lo tanto, si no se usan los «{}», la condición se aplica solo a la siguiente
instrucción al if. (Garro, 2014).
4
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
En la condicional se encuentran 2 sentencias para 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 que 12.
• (2) retornará verdadero debido a que 2 sí es menor que 4, aunque no es
igual (<=).
Dado que ambas sentencias de condición retornan verdadero, la condición
del if se cumple. Observemos la siguiente tabla de verdad de operadores lógicos
tener dar mayor claridad.
P Q P && Q P || Q !P
True True True True False
True False False True False
False True False True True
False False False False True
5
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Ilustración 4: condicional if con operadores lógicos.
Fuente: Eclipse.
6
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
de negación «!», al no cumplirse que (1) es true, por la negación, la condicional no
se ejecutará cómo verdadera.
• Evaluación de la segunda fila.
7
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
operador de negación «!», al no cumplirse que (1) es true, por la negación, la
condicional no se ejecutará cómo verdadera.
• Evaluación de la tercera fila:
8
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
uno true, la condicional se ejecutará como verdadera. En la serie número 3, con el
operador de negación «!», al cumplirse que (1) es true, por la negación, la
condicional se ejecutará cómo verdadera.
• Evaluación de la cuarta fila:
9
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
operador de negación «!», al cumplirse que (1) es true, por la negación, la
condicional se ejecutará cómo verdadera.
10
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Ilustración 8: condicional else.
Fuente: Eclipse.
11
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Ilustración 9: ejercicio condicional «beber un café».
Fuente: Eclipse.
¿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.
12
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
2. Se pueden 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.
13
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Cuando se da utilidad al else, se debe tener en cuenta que a su aplicación 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.
14
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Realiza 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.
15
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Hay casos en que no se aplica necesariamente el uso del else if, y son aquellos
en los que solo ocupamos dos resultados un sí o un no únicamente:
16
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Estructuras condicionales anidadas
Un paso más allá de las estructuras anteriores 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 esta
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 (Lasso, 2016).
17
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• 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.
18
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Como en las estructuras pasadas, hay varios factores para tener en cuenta
a la hora de desarrollar estructuras condicionales por medio switch case. Veamos:
• 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.
• 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.
19
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• La declaración break es opcional. Si se omite, la ejecución continuará en el
siguiente case.
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
20
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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).
Nota: la sentencia continue debe estar siempre incluida dentro de un ciclo, si no,
recibiremos 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:
Pese a que la estructura del ciclo for esté desarrollada para realizar diez
iteraciones, la sentencia break dentro de su funcionabilidad corta el ciclo en la
primera iteración y se sale de él.
En el caso del uso del continue, este funciona de la siguiente forma:
21
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
El ciclo está declarado para iterar cinco veces en su estructura; la condicional
presente en el ciclo determina que, cuando este llegue a la tercera iteración, salte
inmediatamente a la siguiente iteración, por lo que en ese caso la instrucción
«Dentro del ciclo» no llegará a ser ejecutada y en la salida en consola solo habrá
cuatro impresiones.
22
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
En el ejemplo anterior se observa cómo 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).
23
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Switch case con string
Desde JDK7 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.
24
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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.
25
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Tema 2: 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 ejecutar una tarea repetitiva en
una cantidad de líneas muy pequeña y de forma prácticamente automática (Meza,
2018).
Existen diferentes tipos de ciclos o bucles en Java, cada uno con una utilidad
para casos específicos. Tenemos 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.
26
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Estructura del ciclo for
La estructura del ciclo for se compone de tres 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 que terminarán.
• Valor de incremento - decremento: realiza un incremento o decremento al
valor de inicio para realizar las iteraciones.
27
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• Sentencias adicionales dentro de la declaración del ciclo:
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.
Para entender mejor el funcionamiento y aplicación del ciclo, observemos los
siguientes ejercicios.
Ejercicios:
• Desarrollar un programa que muestre los números pares entre 0 y 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:
28
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Dado que se recorre uno a uno todos los valores, pero posteriormente valida
por medio de la condicional que únicamente muestre valores divisibles entre 2
(recordemos 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? Así:
El ejercicio funciona de igual forma con base en los valores que se terminan
para el funcionamiento correcto del ejercicio, el valor de inicio cambiaría a (20) para
realizar el decremento; la condición de parada se realizará cuando el valor de inicio
llegue a (0) y ya no se realiza un incremento gradual de dos en dos, sino un
decremento en los mismos valores.
• Desarrollar un programa que permita contar cuántos números entre 1 y 1000
son múltiplos de 7, mostrar el resultado final.
29
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
En el desarrollo de este ejercicio entra en uso un concepto muy común en el
uso de ciclos: los contadores, que no son más que variables que se incrementan
consecutivamente según el valor que se determine. La implementación se realiza
declarando la variable contadora fuera del ciclo. ¿Por qué?, si se declara dentro del
ciclo, pierde completamente su uso y funcionabilidad; el ciclo, al ser una estructura
iterativa, declararía la variable las X veces que fueron determinadas en el ciclo, y el
valor se reiniciaría por cada iteración, al ser declarado fuera, el uso se limita solo al
ciclo.
Los valores del ciclo para este caso son: en el inicio empezará en (1) y el
valor de parada será (1000), el incremento será gradual en él para recorrer todos
los valores y la condicional interna del ciclo determinará los múltiplos de 7 y realizará
el incremento del contador. Al final del ciclo y la condicional por defecto, se
encuentra respectivamente el valor de impresión.
• 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?
30
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Detenidamente, el uso de un ciclo (1) dentro de otro ciclo (2) condiciona a
que este (2) se repita las veces que (1) tenga expresadas. Como se observa en el
ejemplo anterior, el ciclo (1) cuenta con dos iteraciones, al igual que el ciclo (2), y
se ejecuta de la siguiente forma:
• Primera ejecución del ciclo (1):
Ciclo 1
31
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• Segunda ejecución del ciclo (2) – fin del ciclo (1):
Ciclo 1 Ciclo 1
Ciclo 2 Ciclo 2 Ciclo 2 Ciclo 2
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 si el ciclo continúa o se detiene, por lo que la sintaxis es
más simple.
32
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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 para 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.
33
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
importante) y finalmente la iteración (incremento, decremento o cambio); esta es la
estructura recomendada.
Ejercicio:
Desarrollar un programa que imprima los números impares entre 1 y 25.
34
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Hay dos métodos nuevos que se aplican para solucionar este ejercicio y que
son muy útiles, estos 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.
Palabra
P O L I T É C N I C O D E C O L O M B I A
23 caracteres
35
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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:
Palabra
D I E G O
Posiciones
0 1 2 3 4
La palabra «Diego» está compuesta por cinco caracteres, por lo que debe
tener cinco posiciones asignadas a cada carácter (recordemos que siempre se
empieza desde 0, como se observa en la tabla), ¿cómo sería el código?
36
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Java se sale del rango que se tiene en la palabra y realiza una excepción de
tipo: StringIndexOutOfBoundsException.
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 para tener presente es el reconocimiento del método
charAt como un carácter al espacio en blanco.
• 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 en que 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 misma funcionabilidad que el
while por su estructura:
37
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
cambio de la bandera a X se dará cuando el número generado sea un múltiplo de
10 (recordemos 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.
Ciclo do while
Esta estructura de iteración cumple el mismo objetivo de la estructura while
con la variante de 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.
38
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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.
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 van como se detalla en las ilustraciones
vistas: 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.
Tema 3: Vectores
39
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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.
Incluso 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, a cada dato
almacenado le corresponde un índice, dado que, a partir de los índices, se
operan los vectores.
40
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Estudiantes[]
"Juan" "Stiven "Andres"
Posiciones
0 1 2
41
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• Los vectores se pueden declarar únicamente o declarar e inicializar, como
ocurre con las variables.
Ejercicio:
• Desarrollar un programa que, mediante el uso de dos vectores, permita
almacenar las cinco notas de un estudiante para calcular su promedio final.
Los valores para calcular el promedio se encuentran en un vector aparte que
contiene los porcentajes asignados a cada nota.
Porcentaje
Nota 1 Nota 2 Nota 3 Nota 4 Nota 5
42
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
20% 10% 30% 20% 20%
Notas
4,5 3,2 5 1,5 4,3
Posiciones
0 1 2 3 4
Porcentaje
Nota 1 Nota 2 Nota 3 Nota 4 Nota 5
20% 10% 30% 20% 20%
Posiciones
0 1 2 3 4
43
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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:
Variable promedio
Iteraciones
0 1 2 3 4
0,9 1,22 2,72 3,02 3,88
Total
4
44
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
A B C D E F G H I J
1 2 3 4 5 6 7 8 9 10
K L M N Ñ O P Q R S
11 12 13 14 15 16 17 18 19 20
T U V W X Y Z Caracteres -
21 22 23 24 25 26 27 Valor
45
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Partiendo de 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.
• El vector que define los valores numéricos asignados a los caracteres del
abecedario.
46
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• 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:
NombreAuxiliar
Valores
0 012 01298 0129808 0129808945
47
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Finalmente, se reemplaza el nombre de la iteración actual con el nombre
creado a partir de números:
48
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Tema 4: 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 manera
bidimensional, de forma que se representan como una tabla con un vector para filas
y otro para columnas.
49
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• 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.
• A 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 accede a los datos.
Matriz 0 1 2 3
0 Diego Juan
1 Frank
2 Stiven
3 Ana
Diego [0][0]
Juan [0][1]
Frank [1][3]
Stiven [2][1]
Ana [3][2]
50
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• Las matrices inicializadas sin datos se representan de la siguiente forma por
defecto:
• Matrices de números: se inicializan en 0 los valores de las posiciones.
51
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• 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, solo 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.
52
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
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 veinte
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 para el recorrido: uno que se
encarga de las filas y otro de las columnas:
El primer ciclo se encarga de recorrer las filas, cinco 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;
cuatro para el caso en mención, como se demostraba el funcionamiento de un ciclo
dentro de un ciclo en la estructura for, según ciclo opera cuantas veces el primero
esté definido. Por ende, el segundo ciclo de cuatro iteraciones se repetirá cinco
veces como está definido el primero.
53
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Ciclo 1 - Iteración 1
Ciclo 2 Iteración 1 Ciclo 2 Iteración 2 Ciclo 2 Iteración 3 Ciclo 2 Iteración 4
Ciclo 1 - Iteración 2
Ciclo 2 Iteración 1 Ciclo 2 Iteración 2 Ciclo 2 Iteración 3 Ciclo 2 Iteración 4
Ciclo 1 - Iteración 3
Ciclo 2 Iteración 1 Ciclo 2 Iteración 2 Ciclo 2 Iteración 3 Ciclo 2 Iteración 4
Ciclo 1 - Iteración 4
Ciclo 2 Iteración 1 Ciclo 2 Iteración 2 Ciclo 2 Iteración 3 Ciclo 2 Iteración 4
Ciclo 1 - Iteración 5
Ciclo 2 Iteración 1 Ciclo 2 Iteración 2 Ciclo 2 Iteración 3 Ciclo 2 Iteración 4
54
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
• Con base en el 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.
55
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Partiendo del código del ejercicio anterior, simplemente se deben hacer unas
variantes:
Primero se deben declarar las variables en las que se van a almacenar las
operaciones que se realizarán basándose en 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 inicia 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.
56
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
En la inserción, exactamente después de hacer el guardado de los datos en
la matriz, se realizaría la acumulación en las variables declaradas e inicializadas
previamente partiendo de los índices del ciclo.
En la impresión, en el mismo recorrido de los ciclos posimpresión o
preimpresión, funcionaría de igual forma los acumuladores, así:
57
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Ahora que hemos visto un poco acerca de cómo funcionan las condicionales
en Java, te sugerimos realizar los siguientes ejercicios que te ayudarán a
profundirzar en el tema y llenar vacíos: módulo 2 – ejercicios de condicionales
simples.
Ya que vimos los tipos principales de condicionales en Java, 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.
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 recomendamos
desarrollar los siguientes ejercicios para fortalecer tus competencias: módulo 2 –
ejercicios – switch case.
El ciclo for ayuda a realizar actividades muy repetitivas y operaciones con
volumenes de datos grandes. Te recomendamos hacer los siguientes ejercicios
para fortalecer tus competencias: módulo 2 – ejercicios – ciclo for.
El ciclo while es otra de las estructuras de iteración que ayuda a la hora de
codificar o hacer actividades muy repetitivas. Te sugerimos realizar los siguientes
ejercicios para fortalecer tus competencias: módulo 2 – ejercicios – ciclo while.
El ciclo do while representa una pequeña variante del ciclo while. Te
recomendamos realizar los ejercicios resueltos con el uso de los ciclos for y while,
pero aplicando la estructura de iteración do while.
Las matrices son una excelente alternativa para el almacenamiento de datos
y su implementación es sencilla. Te proponemos hacer los siguientes ejercicios:
módulo 2 – ejercicios con matrices.
¡Inténtalo!
58
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Eclipse Foundation. (2023). Eclipse. Eclipse Foundation. https://www.eclipse.org/
Garro, A. (2014, 15 de abril). Capítulo 5. Sentencias condicionales. En Java.
Arkaitz Garro. https://www.arkaitzgarro.com/java/capitulo-5.html
Lasso, D. (2016, 5 de junio). Cómo funcionan las condicionales anidadas.
Yosoy.dev. https://yosoy.dev/como-funcionan-las-condicionales-anidadas/
Meza, J. (2018). Acerca de los bucles o ciclos en Java. Cómo y por qué se usan
los bucles o ciclos en Java. Programar Ya.
https://www.programarya.com/Cursos/Java/Ciclos
59
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA
Esta guía fue elaborada para ser utilizada con fines didácticos como
material de consulta de los participantes en el Diplomado Virtual en
PROGRAMACIÓN EN JAVA del Politécnico de Colombia, y solo podrá ser
reproducida con esos fines. Por lo tanto, se agradece a los usuarios referirla
en los escritos donde se utilice la información que aquí se presenta.
GUÍA DIDÁCTICA 2
M2-DV59-GU02
MÓDULO 2: ESTRUCTURAS DE ITERACIÓN, CONDICIÓN Y VECTORES
60
DIPLOMADO VIRTUAL EN PROGRAMACIÓN EN JAVA