0% encontró este documento útil (0 votos)
23 vistas33 páginas

Taller de Programación Java

Cargado por

jairomaslow21
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas33 páginas

Taller de Programación Java

Cargado por

jairomaslow21
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 33

Taller de

Programación

Imagen obtenida de: https://www.pixelstalk.net/wp-content/uploads/images6/Abstract-Wallpaper-HD-Free-download.png


Dudas de la clase anterior
Anidamiento
de condicional Ventajas del
simple anidamiento

Anidamiento
de estructuras

Anidamiento
de condicional
doble

Imagen obtenida de:


https://www.ddday.org/wp-content/uploads
/2021/05/Raised-Hands-and-Questions- 2
01.png
Dudas de la clase anterior
Anidamiento
de condicional Ventajas del
simple anidamiento

Anidamiento
de estructuras

Anidamiento
de condicional
doble

Imagen obtenida de:


https://www.ddday.org/wp-content/uploads
/2021/05/Raised-Hands-and-Questions- 3
01.png
Dudas de la clase anterior
Anidamiento
de condicional Ventajas del
simple anidamiento

Anidamiento
de estructuras

Anidamiento
de condicional
doble

Imagen obtenida de:


https://www.ddday.org/wp-content/uploads
/2021/05/Raised-Hands-and-Questions- 4
01.png
Dudas de la clase anterior
Anidamiento
de condicional Ventajas del
simple anidamiento

Anidamiento
de estructuras

Anidamiento
de condicional
doble

Imagen obtenida de:


https://www.ddday.org/wp-content/uploads
/2021/05/Raised-Hands-and-Questions- 5
01.png
Estructura Condicional
switch-case (I)
Semana 04 – Sesión 07
Conocimientos previos
Observa y responde:
• ¿Qué muestran las
imágenes?
• ¿Entre cuántas opciones se
puede elegir?
• ¿Qué estructura condicional
puede representar estos
casos?
Imagen obtenida de:
https://www.pngitem.com/pimgs/m/384-3840589_stylish-restaurant-menu-template-preview-flyer-hd-png.png
https://as2.ftcdn.net/v2/jpg/01/30/82/11/1000_F_130821110_HPwqH7fIMI4nWaloiFFtTgUY5md2s9X0.jpg 7
https://static.wixstatic.com/media/cfc402_7114146ff4614b8ebda16e433d4b94f6~mv2.jpg/v1/fit/w_660%2Ch_440%2Cal_c%2Cq_80/file.jpg
Logro de aprendizaje
Al finalizar la sesión, el estudiante
desarrolla programas utilizando
estructuras switch-case utilizando un
IDE Java para resolver problemas
condicionales o de decisión múltiple.

Imagen obtenida de:


https://img.freepik.com/free-vector/clever-man-student-standing-books-stack-with-flag-self-learning-personal-improvement-knowledge-obtaining-educational-achievement_335657-3461.jpg
8
Utilidad
• ¿Qué expresa la imagen?
• La condición de selección ¿es
simple, doble o múltiple?
• ¿Cómo podría servirte utilizar
condiciones múltiples en
situaciones reales?

Expresar condiciones múltiples


en Java.
Imagen obtenida de:
https://www.a2hosting.com/images/uploads/knowledgebase_images/kb-wordpress-language-plugin.png 9
contenido 1
Estructura Condicional Múltiple

2
Sentencia switch-case

3
Práctica

10
contenido 1
Estructura Condicional Múltiple

2
Sentencia switch-case

3
Práctica

11
1
Estructura Condicional Múltiple

Estructura Condicional Múltiple


• Permite evaluar una expresión que puede
tener N valores distintos (Joyanes, 2008)
• Según se elijan estos valores, se podrán
ejecutar una de las N alternativas (Joyanes,
2008)

• Cuando decimos N valores o alternativas


nos referimos de 3 a más.
• Se denomina así pues existen muchas
condiciones.
Imagen obtenida de: https://bmkltsly13vb.compat.objectstorage.ap-mumbai-1.oraclecloud.com/cdn.dailymirror.lk/media/images/rt(2).jpg 12
1
Estructura Condicional Múltiple

Estructura Condicional Múltiple

Diagrama de flujo de una


estructura condicional
múltiple en PSeInt.

13
1
Estructura Condicional Múltiple

Flujo de una ECM


a. Se evalúa una expresión.
b. El resultado de la expresión es comparado en
secuencia con cada valor de caso contemplado
(condición)
c. Si la condición se cumple entonces se ejecuta el
código condicional. Si la condición no se cumple
entonces el flujo continúa en el siguiente caso.
d. Si no se cumple ninguna condición, se puede
ejecutar instrucciones por defecto (default)
Imagen obtenida de: https://www.programiz.com/sites/tutorial2program/files/java-switch-case-implementation.png 14
1
Estructura Condicional Múltiple

Condicional Múltiple en Java

Condicional Múltiple
en Java

switch-case switch mejorado

Disponible desde JDK 14

15
contenido 1
Estructura Condicional Múltiple

2
Sentencia switch-case

3
Práctica

16
2
Sentencia switch-case

Sentencia switch-case
Sintaxis switch-case

• switch provee una bifurcación switch (expresión) {

múltiple, lo que habilita a un case valor1:


// código condicional 1
programa a seleccionar entre break;
muchas alternativas. case valor2:
// código condicional 2
• switch es mucho más eficiente break;
que utilizar if anidados. case valorN:
// código condicional N
• Soporta tipos byte, short, int, break;

char, String o enumeraciones. default:


// código por defecto
}

17
2
Sentencia switch-case

Sentencia switch-case. Ejemplo.


int estadoProyecto = 3;
String descripcion = ""; Conocido el valor de la variable, se
compara con cada valor hasta
encontrar la coincidencia y se
switch (estadoProyecto) {
ejecutan las sentencias contenidas
case 0: descripcion = "Creado"; en ese bloque.
break;
case 1: descripcion = "Asignado"; La instrucción break es importante
break; para salir de la estructura y ejecutar
la siguiente sentencia fuera de
case 2: descripcion = “En progreso";
switch.
break;
case 3: descripcion = "Finalizado"; Se hace uso del método
break; toUpperCase() para convertir el
case 4: descripcion = "Cancelado"; mensaje a mayúsculas.
break;
case 5: descripcion = "Suspendido";
Salida:
break;
} El estado del Proyecto es
System.out.println(“El estado del Proyecto es " + descripcion.toUpperCase()); FINALIZADO

18
2
Sentencia switch-case

Instrucciones default y break


• Esta instrucción es opcional.
• El bloque default es ejecutado si no se ha
encontrado ninguna coincidencia.
• Si se incluye, se recomienda colocarlo
como último caso en la estructura switch,
aunque puede colocarse en cualquier posición.
• Si no se incluye, debe cuidarse de no omitir
la instrucción break en los casos evaluados.

19
2
Sentencia switch-case

Instrucciones default y break


• Esta instrucción es opcional.
• La instrucción break ocasiona la salida
incondicional del bloque switch.
• Si no está presente, todas las opciones
subsiguientes serán ejecutadas hasta
encontrar la siguiente instrucción break o hasta
finalizar el bloque switch.

20
2
Sentencia switch-case

default y break. Ejemplo.


int estadoProyecto = 8;
String descripcion = "";

switch (estadoProyecto) { Salida si estadoProyecto = 1


case 0: descripcion = "CREADO";
break; El estado del proyecto es
case 1: descripcion = "ASIGNADO"; asignado
break;
case 2: descripcion = "EN PROGRESO"; Salida si estadoProyecto = 2
case 3: descripcion = "FINALIZADO";
case 4: descripcion = "CANCELADO"; El estado del proyecto es
break;
cancelado
case 5: descripcion = "SUSPENDIDO";
default: descripcion = "DESCONOCIDO"; Salida si estadoProyecto = 8
break;
El estado del proyecto es
}
desconocido
System.out.println("El estado del proyecto es " + descripcion.toLowerCase());

Se hace uso del método toLowerCase()


para convertir el mensaje a minúsculas. 21
2
Sentencia switch-case

Agrupamiento de casos
int scoreNPS = 9;

• Es posible tener Salida si scoreNPS es


switch (scoreNPS) { cualquier valor entre 0 y 6
bloques case case 0:
Detractor
case 1:
vacíos. case 2:
case 3:

• Son útiles para case 4:


case 5: Salida si scoreNPS es 7 u 8
agrupar opciones. case 6:
System.out.println("Detractor"); Pasivo

break;
case 7:
case 8:
System.out.println("Pasivo"); Salida si scoreNPS es 9 o 10
break;
Promotor
case 9:
case 10:
System.out.println("Promotor");
break;
}
22
2
Sentencia switch-case

Optimizando el agrupamiento
int scoreNPS = 9;

switch (scoreNPS) {
case 0:
int scoreNPS = 9;
case 1:
case 2:
switch (scoreNPS) {
case 3:
case 0, 1, 2, 3, 4, 5, 6:
case 4:
System.out.println("Detractor");
case 5:
break;
case 6:
case 7, 8:
System.out.println("Detractor");
System.out.println("Pasivo");
break;
break;
case 7:
case 9, 10:
case 8:
System.out.println("Promotor");
System.out.println("Pasivo");
break;
break;
}
case 9:
case 10:
System.out.println("Promotor");
break;
}
23
contenido 1
Estructura Condicional Múltiple

2
Sentencia switch-case

3
Práctica

24
3
Práctica

Cuestionario
1. ¿Qué se mostrará en pantalla si ejecutamos este código?

int i = 1;
switch(i){
default: A. Error de compilación.
System.out.println("Default"); B. 1
case 1:
System.out.println("1"); C. Default 1 0
break;
case 0: D. Default 1
System.out.println("0");
}
25
3
Práctica

Cuestionario
2. ¿Qué se mostrará en pantalla si ejecutamos este código?
final int ENCENDIDO = 1;
final int APAGADO = 0;
int estado = 1;
switch (estado) { A. Desconocido
case ENCENDIDO:
System.out.println("Encendido"); B. Apagado
break;
default: C. Encendido
System.out.println("Desconocido"); D. Error de compilación
case APAGADO:
System.out.println("Apagado");
} 26
3
Práctica

Cuestionario
3. ¿Qué se mostrará en pantalla si ejecutamos este código?

int i = 97;
switch (i) {
case 95: A. Error de compilación
System.out.print("95");
case 96: B. No imprimirá nada
System.out.print("96");
case 'a': System.out.print("a"); C. 9596abc
case 'b': System.out.print("b");
case 'c': System.out.print("c"); D. Ninguna de las anteriores
}

27
3
Práctica

Cuestionario
4. ¿Qué se mostrará en pantalla si ejecutamos este código?

int edad = 8;
switch (edad) {
case 4: case 5: { A. Error de compilación
String grupo = "Ir al nido";
} B. No imprimirá nada
case 6: case 7: case 8: {
String grupo = "Ir al colegio"; C. Ir al colegio
}
} D. Ninguna de las anteriores
System.out.println(grupo);

28
3
Práctica

Ejercicio 01
La evaluación de un candidato para un puesto de
trabajo resulta en una puntuación entre 0 y 10. Se
desea mostrar una descripción de la evaluación
alcanzada de acuerdo con los siguientes criterios:
• 0-4 → descartado
• 5 → en suspenso
• 6 → aceptable
• 7,8 → notable
• 9, 10 → sobresaliente

Escriba un programa que solicite la puntuación de


un candidato y muestre la descripción que le
Imagen obtenida de: 29
corresponda.
https://www.workitdaily.com/media-library/hiring-managers-looks-to-shake-the-hand-of-a-job-candidate.jpg?id=23564520&width=2000&height=1500&quality=85&coordinates=50%2C0%2C50%2C0
3
Práctica

Ejercicio 02
Hoy en día la cotización del dólar y del
euro son la siguientes:
1 dólar = 3.82 soles
1 euro = 4.17 soles

Escriba un programa que permita la


conversión entre dólares, euros y soles.
El usuario elegirá las monedas de origen
y destino e ingresará el monto a convertir.
Imagen obtenida de: 30
https://www.investopedia.com/thmb/knHvOGMNobhSMkYTlWC3WcupO8s=/1500x1000/filters:fill(auto,1)/GettyImages-1031084282-0a12713ac4234067baa62f6f34a48494.jpg
Resumen de la sesión
• ¿Qué es una condicional múltiple?
• ¿En qué casos se utiliza?
• ¿Cómo trabaja una estructura
switch-case?
• ¿Para qué sirven break y default?

Imagen obtenida de: 31


https://dpemfoco.com.br/wp-content/uploads/2019/08/Departamento-de-Pessoal-em-Foco-Checklist-Check-list-Checklists.png
Bibliografía
• Tanenbaum & Van Steen (2008). Algoritmos y Estructuras de
Datos - Principios y Paradigmas, 2da Edición. Pearson
Education​.
• Khalid A. Mughal & Rolf W. Rasmussen (2017). A
Programmer’s guide to Java SE 8 Oracle Certified
Associate.
• Schildt, Herbert (2019). A Java Beginner’s Guide Eighth
Edition. Oracle Press.
• Schildt, Herbert (2019). Java The Complete Reference
Eleventh Edition. Oracle Press.
Imagen obtenida de: 32
https://pngimg.com/d/book_PNG51088.png

También podría gustarte