SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Estructuras de control If-Else
Estructuras de control
Estructuras de control
Los lenguajes de programación poseen estructuras o líneas de código que
permiten alterar el orden de ejecución de las instrucciones, o, en otras
palabras, controlar el flujo de ejecución de dichas instrucciones.
Normalmente las instrucciones de un lenguaje de programación se ejecutan
línea a línea secuencialmente, y una detrás de otra. Sin embargo, con estas
estructuras de control, podemos cambiar o alterar ese flujo convencional de
ejecución de las instrucciones, ya sea dependiendo del valor que posea en
un momento dado una condición, o por la cantidad de veces que queramos
que se repita un bloque de código.
Estructuras de control
Estructuras de decisión
Estructuras de decisión
Estructuras de If-Else
Estructuras If-Else
Esta estructura de control es fundamental para tomar decisiones con base en el valor de una
condición. Esta estructura de control evalúa el valor de la condición y ejecuta uno u otro bloque
de instrucciones dependiendo de si la condición evaluada se cumple o es verdadera, o no se
cumple y es falsa. En la Figura 1 observamos el diagrama de actividades UML de una estructura
if-else.
Figura 1. Diagrama de Actividades de una estructura If-Else
Estructuras deIf-Else
Estructuras If-Else
Estructuras If-Else
El código JAVA para representar la estructura de control if-else de la figura 1 se
representa en la figura 2.
Figura 2. Código JAVA genérico de una estructura If-Else
Estructuras If-Else
Estructuras If-Else
Aplicación de la estructura de
Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Veamos con un ejemplo la aplicación de la estructura de control If-Else. Para este caso, continuamos
trabajando con la clase AppPrueba, y la clase Persona, cuyo diagrama de clase se ilustra en la figura
3.
Figura 3. Aplicación AppPrueba que usa a la clase Persona
A estas alturas ya tenemos escrito todo el código de esta solución de software, y que replicamos
nuevamente en las Figuras 4 y 5.
Aplicación de la estructura de Decisión If-Else
Figura 4. Código Fuente de la clase AppPrueba
Aplicación de la estructura de Decisión If-Else
Figura 5. Código Fuente de la clase Persona
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Veamos el diagrama de actividades de la situación anteriormente mencionada, pues nos proporcionará
mayor luz sobre la situación. En la figura 6 observamos el diagrama de actividades que representa al
método saludar() , integrando la estructura de control if-else.
Figura 6. Diagrama de actividades del método saludar()
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
En desarrollo de software es común tener una instrucción if-else para tomar decisiones y elegir uno de
dos caminos posibles, pero, después de haber ejecutado las instrucciones correspondientes, es común
retornar a un camino o flujo principal del programa, como se observa en el diagrama de actividades de la
figura 7.
Figura 7. Diagrama de Actividades de una estructura If-Else ilustrando la continuación del flujo normal del programa
Aplicación de la estructura de Decisión If-Else
El código JAVA para el método saludar() de la figura 6 se representa en la figura 8.
Figura 8. Código JAVA genérico del método saludar().
Aplicación de la estructura de Decisión If-Else
Aplicación de la estructura de Decisión If-Else
Código de la clase persona
terminado
Código de la clase persona terminado
Con el diagrama de actividades de la figura 6 del método saludar(), y usando el
código de la figura 8 podemos complementar el código base de la figura 5 de
la clase Persona, de manera que ya sabemos qué líneas de código posee el
método saludar() para integrar la estructura de control if-else, o en otras
palabras, ya conocemos su código funcional. En la figura 9 observamos el
código de la clase Persona culminado con la información proporcionada por el
diagrama de actividades de la figura 6, y la modificación de la variable de clase
o atributo edad con el valor de 20.
Código de la clase persona terminado
Como se puede observar en
el código de la figura 9, ya
tenemos dentro del método
saludar() la estructura de
control if-else que permitirá
mostrar un mensaje u otro,
dependiendo del valor que
tenga la variable de clase o
atributo edad.
Figura 9. Código Fuente de la clase Persona modificado
Compilación y Ejecución de
código JAVA desde CMD
Compilación y Ejecución de código JAVA desde CMD
Compilación y Ejecución de código JAVA desde CMD
Figura 10. Archivo AppPrueba.java dentro de la carpeta bin
Compilación y Ejecución de código JAVA desde CMD
En la figura 11 se observa cómo el archivo Persona.java se encuentra dentro de la carpeta
bin del JDK.
Figura 11. Archivo Persona.java modificado dentro de la carpeta bin
Compilación y Ejecución de código JAVA desde CMD
Ya con nuestros archivos listos dentro de la carpeta bin, lo que resta es abrir el
CMD desde la carpeta bin como se explicó en el “Manual: Preparar el Entorno
de Desarrollo”, como se ilustra en la figura 12. (Recordemos que teniendo
abierta la carpeta bin desde el explorador de archivos, debemos ubicar la barra
de direcciones del explorador de archivos y debemos reemplazar el contenido
de la barra de direcciones de la carpeta bin, por la palabra “cmd”, y a
continuación pulsar la tecla “Enter” para que podamos abrir la herramienta
CMD desde allí).
Compilación y Ejecución de código JAVA desde CMD
Figura 12. Herramienta cmd desde la ruta de la carpeta bin
Compilación y Ejecución de código JAVA desde CMD
En la herramienta CMD invocaremos los comandos de compilación de código JAVA, y ejecución de código
JAVA para visualizar el resultado final, como se ilustra en la figura 13.
Figura 13. Compilación y Ejecución de la clase AppPrueba
Compilación y Ejecución de código JAVA desde CMD
Compilación y Ejecución de código JAVA desde CMD
Figura 14. Archivo Persona.java modificado en el atributo edad dentro de la carpeta bin
Compilación y Ejecución de código JAVA desde CMD
En la herramienta CMD nuevamente invocaremos los comandos de compilación de código JAVA, y
ejecución de código JAVA para visualizar el resultado final habiendo modificado la variable de clase o
atributo edad con un valor de 13, como se ilustra en la figura 15.
Figura 15. Nueva Compilación y Ejecución de la clase AppPrueba
Compilación y Ejecución de código JAVA desde CMD
Como podemos observar en la figura 15, encontramos el mensaje “Hola me llamo: Elfar y
soy menor de edad”, puesto que la variable de clase o atributo edad posee el valor de 13.
En conclusión, pudimos comprobar el funcionamiento de la estructura de control if-else, en
donde se evalúa una condición -en este caso this.edad >=18 - y si el resultado de esa
evaluación es verdadera, o en otras palabras, se cumple la condición, veremos el mensaje
“Hola me llamo: Elfar y soy mayor de edad”, pero si la evaluación de esa condición es falsa,
o en otras palabras, no se cumple la condición, veremos el mensaje “Hola me llamo: Elfar y
soy menor de edad”. Por tanto, nuestro código está tomando uno u otro camino,
dependiendo del valor de la variable de clase o atributo denominado edad. Si el valor de
edad es mayor o igual que 18 se toma un camino, y si el valor de edad es menor que 18 se
toma otro camino, como se vio en la figura 6, y que se ilustra nuevamente en la figura 16.
Compilación y Ejecución de código JAVA desde CMD
Figura 16. Diagrama de actividades del método saludar()
Compilador Online
Compilador Online
Si queremos probar esta aplicación en el compilador online JDOODLE
(https://www.jdoodle.com/online-java-compiler/ ) , recordemos que todo el
código debe estar en un único archivo, y que solamente puede haber una
única clase pública -La clase que posee el método main- y las demás
clases no tendrán la palabra public para que todo funcione bien. En la
figura 17 se observa todo el código en único archivo. Nótese que
solamente la clase AppPrueba posee la palabra reservada public, y la
clase Persona no posee dicha palabra.
Compilador Online
Ya con este par de cambios (un
archivo único con todo el
código, y una única clase
pública), podemos copiar y
pegar el código que tenemos
en nuestro único archivo, para
llevarlo al compilador online, y
presionar el botón execute,
como se observa en la figura
18.
Figura 17. Código de la clase AppPrueba y la clase Persona en un único archivo
Compilador Online
Compilador Online
Compilador Online
Figura 18. Resultado de probar el código único en el compilador online
Compilador Online
Como se puede ver en la figura 18, el resultado es el mismo que si se hubiese
compilado el código en nuestra máquina local usando el JDK y el CMD. Recordemos
que para que esto funcione debemos tener un único archivo con todo el código, y que
solamente haya una única clase pública en todo el código, que normalmente será la
clase que posee el método main().
Sin embargo, nuevamente recordamos la siguiente recomendación: Para este curso
recomendamos siempre descargar y utilizar el JDK de manera local, pero si no está en
la posibilidad de hacerlo, un compilador online siempre será una buena alternativa para
“probar” código. Recuerde que estos compiladores online tienen la finalidad de “probar”
el código, pero NUNCA reemplazarán el proceso de escribir código, compilar código y
ejecutar código con el JDK real de JAVA, para luego desplegar los resultados en un
entorno de producción.
GRACIAS

Más contenido relacionado

Similar a Estructuras de control If-Else.pdf

La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_GamePlayer35
 
La estructura básica para C++
La estructura básica para C++La estructura básica para C++
La estructura básica para C++LorenaCMtz
 
Actividad de Inicio Programación
Actividad de Inicio ProgramaciónActividad de Inicio Programación
Actividad de Inicio ProgramaciónYesicaMendoza18
 
programación
programaciónprogramación
programaciónlaura2041
 
Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_laura cortez
 
Ej02 programación secuencial y condicionales
Ej02 programación secuencial y condicionalesEj02 programación secuencial y condicionales
Ej02 programación secuencial y condicionalesEimer Ramirez
 
Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)Eimer Ramirez
 
Programacion Orienta A Objetos
Programacion Orienta A ObjetosProgramacion Orienta A Objetos
Programacion Orienta A ObjetosDavid
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoDANNYOSE
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacionsandra gutierrez
 
Unidad 4. estructuras de control
Unidad 4. estructuras de controlUnidad 4. estructuras de control
Unidad 4. estructuras de controlssusercfcb50
 

Similar a Estructuras de control If-Else.pdf (20)

La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
La estructura básica para C++
La estructura básica para C++La estructura básica para C++
La estructura básica para C++
 
Variables
VariablesVariables
Variables
 
Manueal pseint2
Manueal pseint2Manueal pseint2
Manueal pseint2
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Yy
YyYy
Yy
 
Actividad de Inicio Programación
Actividad de Inicio ProgramaciónActividad de Inicio Programación
Actividad de Inicio Programación
 
programación
programaciónprogramación
programación
 
Clase 5 php
Clase 5 phpClase 5 php
Clase 5 php
 
Fundamentos De Programacion
Fundamentos De ProgramacionFundamentos De Programacion
Fundamentos De Programacion
 
Leng prog C
Leng prog CLeng prog C
Leng prog C
 
Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_Presentacion de la_estructura_de_c_
Presentacion de la_estructura_de_c_
 
Ej02 programación secuencial y condicionales
Ej02 programación secuencial y condicionalesEj02 programación secuencial y condicionales
Ej02 programación secuencial y condicionales
 
Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)
 
Progra
PrograProgra
Progra
 
Ova estructuras de control JAVA
Ova estructuras de control JAVAOva estructuras de control JAVA
Ova estructuras de control JAVA
 
Programacion Orienta A Objetos
Programacion Orienta A ObjetosProgramacion Orienta A Objetos
Programacion Orienta A Objetos
 
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajoESTRUCTURA DE CONTROLYoselyn garcia trabajo
ESTRUCTURA DE CONTROLYoselyn garcia trabajo
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacion
 
Unidad 4. estructuras de control
Unidad 4. estructuras de controlUnidad 4. estructuras de control
Unidad 4. estructuras de control
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 

Último (20)

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 

Estructuras de control If-Else.pdf

  • 3. Estructuras de control Los lenguajes de programación poseen estructuras o líneas de código que permiten alterar el orden de ejecución de las instrucciones, o, en otras palabras, controlar el flujo de ejecución de dichas instrucciones. Normalmente las instrucciones de un lenguaje de programación se ejecutan línea a línea secuencialmente, y una detrás de otra. Sin embargo, con estas estructuras de control, podemos cambiar o alterar ese flujo convencional de ejecución de las instrucciones, ya sea dependiendo del valor que posea en un momento dado una condición, o por la cantidad de veces que queramos que se repita un bloque de código.
  • 8. Estructuras If-Else Esta estructura de control es fundamental para tomar decisiones con base en el valor de una condición. Esta estructura de control evalúa el valor de la condición y ejecuta uno u otro bloque de instrucciones dependiendo de si la condición evaluada se cumple o es verdadera, o no se cumple y es falsa. En la Figura 1 observamos el diagrama de actividades UML de una estructura if-else. Figura 1. Diagrama de Actividades de una estructura If-Else
  • 11. Estructuras If-Else El código JAVA para representar la estructura de control if-else de la figura 1 se representa en la figura 2. Figura 2. Código JAVA genérico de una estructura If-Else
  • 14. Aplicación de la estructura de Decisión If-Else
  • 15. Aplicación de la estructura de Decisión If-Else Veamos con un ejemplo la aplicación de la estructura de control If-Else. Para este caso, continuamos trabajando con la clase AppPrueba, y la clase Persona, cuyo diagrama de clase se ilustra en la figura 3. Figura 3. Aplicación AppPrueba que usa a la clase Persona A estas alturas ya tenemos escrito todo el código de esta solución de software, y que replicamos nuevamente en las Figuras 4 y 5.
  • 16. Aplicación de la estructura de Decisión If-Else Figura 4. Código Fuente de la clase AppPrueba
  • 17. Aplicación de la estructura de Decisión If-Else Figura 5. Código Fuente de la clase Persona
  • 18. Aplicación de la estructura de Decisión If-Else
  • 19. Aplicación de la estructura de Decisión If-Else
  • 20. Aplicación de la estructura de Decisión If-Else Veamos el diagrama de actividades de la situación anteriormente mencionada, pues nos proporcionará mayor luz sobre la situación. En la figura 6 observamos el diagrama de actividades que representa al método saludar() , integrando la estructura de control if-else. Figura 6. Diagrama de actividades del método saludar()
  • 21. Aplicación de la estructura de Decisión If-Else
  • 22. Aplicación de la estructura de Decisión If-Else
  • 23. Aplicación de la estructura de Decisión If-Else
  • 24. Aplicación de la estructura de Decisión If-Else
  • 25. Aplicación de la estructura de Decisión If-Else En desarrollo de software es común tener una instrucción if-else para tomar decisiones y elegir uno de dos caminos posibles, pero, después de haber ejecutado las instrucciones correspondientes, es común retornar a un camino o flujo principal del programa, como se observa en el diagrama de actividades de la figura 7. Figura 7. Diagrama de Actividades de una estructura If-Else ilustrando la continuación del flujo normal del programa
  • 26. Aplicación de la estructura de Decisión If-Else El código JAVA para el método saludar() de la figura 6 se representa en la figura 8. Figura 8. Código JAVA genérico del método saludar().
  • 27. Aplicación de la estructura de Decisión If-Else
  • 28. Aplicación de la estructura de Decisión If-Else
  • 29. Código de la clase persona terminado
  • 30. Código de la clase persona terminado Con el diagrama de actividades de la figura 6 del método saludar(), y usando el código de la figura 8 podemos complementar el código base de la figura 5 de la clase Persona, de manera que ya sabemos qué líneas de código posee el método saludar() para integrar la estructura de control if-else, o en otras palabras, ya conocemos su código funcional. En la figura 9 observamos el código de la clase Persona culminado con la información proporcionada por el diagrama de actividades de la figura 6, y la modificación de la variable de clase o atributo edad con el valor de 20.
  • 31. Código de la clase persona terminado Como se puede observar en el código de la figura 9, ya tenemos dentro del método saludar() la estructura de control if-else que permitirá mostrar un mensaje u otro, dependiendo del valor que tenga la variable de clase o atributo edad. Figura 9. Código Fuente de la clase Persona modificado
  • 32. Compilación y Ejecución de código JAVA desde CMD
  • 33. Compilación y Ejecución de código JAVA desde CMD
  • 34. Compilación y Ejecución de código JAVA desde CMD Figura 10. Archivo AppPrueba.java dentro de la carpeta bin
  • 35. Compilación y Ejecución de código JAVA desde CMD En la figura 11 se observa cómo el archivo Persona.java se encuentra dentro de la carpeta bin del JDK. Figura 11. Archivo Persona.java modificado dentro de la carpeta bin
  • 36. Compilación y Ejecución de código JAVA desde CMD Ya con nuestros archivos listos dentro de la carpeta bin, lo que resta es abrir el CMD desde la carpeta bin como se explicó en el “Manual: Preparar el Entorno de Desarrollo”, como se ilustra en la figura 12. (Recordemos que teniendo abierta la carpeta bin desde el explorador de archivos, debemos ubicar la barra de direcciones del explorador de archivos y debemos reemplazar el contenido de la barra de direcciones de la carpeta bin, por la palabra “cmd”, y a continuación pulsar la tecla “Enter” para que podamos abrir la herramienta CMD desde allí).
  • 37. Compilación y Ejecución de código JAVA desde CMD Figura 12. Herramienta cmd desde la ruta de la carpeta bin
  • 38. Compilación y Ejecución de código JAVA desde CMD En la herramienta CMD invocaremos los comandos de compilación de código JAVA, y ejecución de código JAVA para visualizar el resultado final, como se ilustra en la figura 13. Figura 13. Compilación y Ejecución de la clase AppPrueba
  • 39. Compilación y Ejecución de código JAVA desde CMD
  • 40. Compilación y Ejecución de código JAVA desde CMD Figura 14. Archivo Persona.java modificado en el atributo edad dentro de la carpeta bin
  • 41. Compilación y Ejecución de código JAVA desde CMD En la herramienta CMD nuevamente invocaremos los comandos de compilación de código JAVA, y ejecución de código JAVA para visualizar el resultado final habiendo modificado la variable de clase o atributo edad con un valor de 13, como se ilustra en la figura 15. Figura 15. Nueva Compilación y Ejecución de la clase AppPrueba
  • 42. Compilación y Ejecución de código JAVA desde CMD Como podemos observar en la figura 15, encontramos el mensaje “Hola me llamo: Elfar y soy menor de edad”, puesto que la variable de clase o atributo edad posee el valor de 13. En conclusión, pudimos comprobar el funcionamiento de la estructura de control if-else, en donde se evalúa una condición -en este caso this.edad >=18 - y si el resultado de esa evaluación es verdadera, o en otras palabras, se cumple la condición, veremos el mensaje “Hola me llamo: Elfar y soy mayor de edad”, pero si la evaluación de esa condición es falsa, o en otras palabras, no se cumple la condición, veremos el mensaje “Hola me llamo: Elfar y soy menor de edad”. Por tanto, nuestro código está tomando uno u otro camino, dependiendo del valor de la variable de clase o atributo denominado edad. Si el valor de edad es mayor o igual que 18 se toma un camino, y si el valor de edad es menor que 18 se toma otro camino, como se vio en la figura 6, y que se ilustra nuevamente en la figura 16.
  • 43. Compilación y Ejecución de código JAVA desde CMD Figura 16. Diagrama de actividades del método saludar()
  • 45. Compilador Online Si queremos probar esta aplicación en el compilador online JDOODLE (https://www.jdoodle.com/online-java-compiler/ ) , recordemos que todo el código debe estar en un único archivo, y que solamente puede haber una única clase pública -La clase que posee el método main- y las demás clases no tendrán la palabra public para que todo funcione bien. En la figura 17 se observa todo el código en único archivo. Nótese que solamente la clase AppPrueba posee la palabra reservada public, y la clase Persona no posee dicha palabra.
  • 46. Compilador Online Ya con este par de cambios (un archivo único con todo el código, y una única clase pública), podemos copiar y pegar el código que tenemos en nuestro único archivo, para llevarlo al compilador online, y presionar el botón execute, como se observa en la figura 18. Figura 17. Código de la clase AppPrueba y la clase Persona en un único archivo
  • 49. Compilador Online Figura 18. Resultado de probar el código único en el compilador online
  • 50. Compilador Online Como se puede ver en la figura 18, el resultado es el mismo que si se hubiese compilado el código en nuestra máquina local usando el JDK y el CMD. Recordemos que para que esto funcione debemos tener un único archivo con todo el código, y que solamente haya una única clase pública en todo el código, que normalmente será la clase que posee el método main(). Sin embargo, nuevamente recordamos la siguiente recomendación: Para este curso recomendamos siempre descargar y utilizar el JDK de manera local, pero si no está en la posibilidad de hacerlo, un compilador online siempre será una buena alternativa para “probar” código. Recuerde que estos compiladores online tienen la finalidad de “probar” el código, pero NUNCA reemplazarán el proceso de escribir código, compilar código y ejecutar código con el JDK real de JAVA, para luego desplegar los resultados en un entorno de producción.