Estructuras de Control
Ing. MSc. Erick Arauco M.
Diplomado en Tecnologías Web
Escuela Tecnológica Superior
Objetivos
• Comprender las técnicas básicas para la
solución de problemas.
• Condicionales.
• Estructuras repetitivas.
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 2
Estructuras IF
• Usadas para determinar una serie de
alternativas a seguir. Determinan el flujo de
ejecución de un programa.
• if calificacion >= 11
Imprime „Aprobado“
else
Imprime „Desaprobado“
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 3
En java
// Programa: Control.java
// A control structures in java
public class Control {
public static void main ( String args[] )
{
int calificacion = 12;
if ( calificacion == 11 ) {
System.out.println („aprobado“);
}
else {
System.out.println („desaprobado“);
}
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 4
Estructura While
• Permite al programador especificar que una
acción será repetida mientras la condición se
cumpla.
• While contador <= 10
ejecuta accion...
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 5
En java
// Programa: Control2.java
// A control structures in java
public class Control2 {
public static void main ( String args[] )
{
int product = 2;
while (product <= 1000) {
product = 2 * product;
System.out.println (product);
}
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 6
Operadores de Asignación
• Java provee una serie de operadores:
– c = c + 3;
– c += 3;
– Incrementa en 3 la variable „c“
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 7
Operadores de Incremento –
Decremento
Operador Expresión Explicación Descripción
Asumimos: int c = 3, d = 5, e = 4, f = 6, g = 12
+= c += 7 c=c+7 10 a c
-= d -= 4 d=d-4 1ad
*= e *= 5 e=e*5 20 a e
/= f /= 3 f = f /3 2af
%= g %= 9 g=g%9 3ag
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 8
Operadores de Incremento –
Decremento
Operador Denominación Expresión Explicación
++ Preincremento ++a Incrementa „a“ en 1,
luego usa este valor
que reside en la
variable „a“
++ Postincremento a++ Usa el valor de la
variable „a“ y luego
incrementa en 1
-- Predecremento --b Decrementa „b“ en 1 y
luego usa el valor de la
variable „b“
-- Postdecremento b-- Usa el valor de la
variable „b“ y luego
decrementa en 1
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 9
En java
// Programa: Increment.java
// Preincrementing and postincrementing
public class Increment {
public static void main ( String args[] )
{
int c;
c = 5;
System.out.println (c); // imprime 5
System.out.println (c++); // imprime 5 luego aumenta
System.out.println (c); // imprime 6
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 10
En java
// Programa: Increment.java
// Preincrementing and postincrementing
public class Increment {
public static void main ( String args[] )
{
int c;
c = 5;
System.out.println (c); // imprime 5
System.out.println (++c); // aumenta, luego imprime 6
System.out.println (c); // imprime 6
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 11
Ejercicios
• Cuál es la salida de los siguientes programas ?
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 12
Ejercicio 1
// Programa: Mistery.java
public class Mistery {
public static void main ( String args[] )
{
int y, x = 1, total = 0;
while (x <=10 ) {
y = x * x;
System.out.println (y);
total += y;
++x;
}
System.out.println („Total is „ + total);
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 13
Ejercicio 2
// Programa: Mistery2.java
public class Mistery2 {
public static void main ( String args[] )
{
int count = 1;
while (count <=10 ) {
System.out.println (count % 2 == 1 ?
„****“ : „++++++++“ );
++count;
}
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 14
Ejercicio 3
// Programa: Mistery3.java
public class Mistery3 {
public static void main ( String args[] )
{
int row = 10, column;
while (row >=1 ) {
column = 1;
while (column <=10) {
System.out.println (row % 2 == 1 ?„<“ : „>“ );
++column;
}
--row;
System.out.println();
}
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 15
Estructura For
• for ( int counter = 1; counter <=10; counter++ )
Valor inicial
Condición del ciclo
Incremento de la variable
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 16
Caso de Estudio 2
• Determinar la suma de los 100 primeros número
pares.
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 17
Caso de Estudio 2
// Programa: Sum.java
// A for structures in java
public class Sum {
public static void main ( String args[] )
{
int sum = 0;
for (int number = 2; number <= 100; number += 2) {
sum += number;
}
System.out.println (sum);
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 18
Estructura Switch
• Estructuras If = Selección Simple, también doble
selección si usamos if / else.
• Algunas veces un algoritmo contendrá una serie
de decisiones en las cuáles una variable podrá
asumir una serie de valores
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 19
Ejemplo
Ejemplo:/SwitchTest.java
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 20
Sentencias Break y Continue
• Ambas alteran el flujo.
• La sentencia Break, origina la salida inmediata
desde la estructura.
• La sentencia Continue, usada dentro de una
estructura repetitiva, salta un ciclo de ejecución
y continua con el siguiente.
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 21
Ejemplo
public class ContinueTest {
public static void main ( String args[] )
{
for ( int count = 1; count <= 10; count++ ) {
if ( count == 5 )
continue;
System.out.println (count);
}
System.exit ( 0 );
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 22
Estructura do/while
• Similar a la estructura while.
• En la estructura while la condición es verificada
al inicio del ciclo.
• En la estructura do / while la condición es
verificada al final del ciclo.
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 23
Estructura do/while
• while ( condición )
• do {
sentencia
while ( condición );
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 24
Estructura do/while
// Programa: WhileEstruct.java
public class WhileEstruct {
public static void main ( String args[] )
{
int number = 0;
do {
number++;
System.out.println (number);
} while ( number <=10 );
}
}
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 25
Operadores Lógicos
Operadores Tipo
<, <=, >, >= Relacional
==, != Igualdad, Desigualdad.
&& AND
|| OR
?: Condicional
Diplomado en Tecnologías Web
Escuela Tecnológica Superior 26