Parte 4: Estructura FOR
Basada en diapositivas de
Prof. Elizabeth Vidal Duarte
Sentencia while
//este programa realiza la suma de los 100 primeros
números
int sum = 0, number = 1;
while ( number <= 100 ) {
sum
=
sum + number;
number = number + 1;
Estas sentencias son
ejecutadas mientras que
la variable number sea
menor o igual que 100
}
System.out.print(“La Suma es: “ + suma);
2
Sintaxis para la sentencia while
while ( <expresión booleana> ) {
<sentencia 1>
<sentencia 1>
<sentencia n>
}
Expresión Booleana
while (
sum
Sentencias
(loop body)
number <= 100
=
) {
sum + number;
number = number + 1;
}
3
Mas Ejemplos
1
int sum = 0, number = 1;
while ( sum <= 1000000 ) {
sum
=
Sigue sumando números
1, 2, 3, …hasta que la
variable sum sea mayor
a 1,000,000.
sum + number;
number = number + 1;
}
2
int producto = 1, numero = 1,
contador
= 20, ultimoNumero;
Calcula el producto de
los 20 primeros enteros
ultimoNumero = 2 * contador - 1;
while (numero <= ultimoNumero) {
producto = producto * numero;
numero
= numero + 2;
}
4
La sentencia do-while
int sum = 0, number = 1;
do {
sum = sum + number;
number++;
Estas sentencias son
ejecutadas hasta que la
variable sum sea menor
o igual que 100
} while ( sum <= 100 );
5
Sintaxis do-while
do
<sentencias>
while ( <expresion booleana> ) ;
do {
sum = sum + number;
Sentencias
(loop body)
number++;
} while (
sum <= 100
);
Expresion booleana
6
La sentencia for
int i, sum = 0, number;
for (i = 0; i < 20; i++) {
number = scanner.nextInt( );
sum = sum
+
number;
}
Utilizamos for cuando sabemos cuantas veces
se va a realizar la repetición
Estas sentencias son
ejecutadas 20 veces
( i = 0, 1, 2, … , 19).
7
Syntax sentencia for
for ( <inicializacion>; <expresion booleana>; <incremento>
){
<sentencias>
}
Expresión
Booleana
Inicializacion
for (
i = 0
;
i < 20
number = scanner.nextInt();
sum = sum + number;
Incremento
;
i++
) {
Sentencias
(loop body)
}
8
Compare for y while
for ( Init ; Expression ; Increment )
Action
Init
while ( Expression )
{
Si realmente odian utilizar WHILE
por alguna razon….
pueden reescribirla
Action
Increment
}
9
Sentencia while
//este programa realiza la suma de los 100
primeros numeros
int sum = 0, number = 1;
while ( number <= 100 ) {
sum
=
sum + number;
number = number + 1;
}
10
Seguimiento de la ejecución (1/12)
i
0
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
11
Seguimiento de la ejecución(2/12)
i
0
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
12
Seguimiento de la ejecución(3/12)
i
0
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
13
Seguimiento de la ejecución(4/12)
i
1
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
14
Seguimiento de la ejecución(5/12)
i
1
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
15
Seguimiento de la ejecución(6/12)
i
1
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamo");
Output:
i es 0
i es 1
16
Seguimiento de la ejecución(7/12)
i
2
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
i es 1
17
Seguimiento de la ejecución(8/12)
i
2
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
i es 1
18
Seguimiento de la ejecución(9/12)
i
2
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
i es 1
i es 2
19
Seguimiento de la ejecución(10/12)
i
3
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
i es 1
i es 2
20
Seguimiento de la ejecución(11/12)
i
3
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Output:
i es 0
i es 1
i es 2
21
Seguimiento de la ejecución(12/12)
i
3
for (int i = 0; i < 3; ++i) {
System.out.println("i es " + i);
}
System.out.println(“terminamos");
Utilzar siempre i dentro del loop
Output:
i es 0
i es 1
i es 2
terminamos
22
Mas ejemplos
1
for (int i = 0; i < 100; i += 5)
i = 0, 5, 10, … , 95
2
for (int j = 2; j < 40; j *= 2)
j = 2, 4, 8, 16, 32
3
for (int k = 100; k > 0; k--) )
k = 100, 99, 98, 97, ..., 1
23
For anidados
for (int i = 0; i < 3; ++i) {
System.out.println("i is " + i);
for (int j = 0; j < i; ++j) {
System.out.println("
j is " + j);
}
}
Cual es la salida?
24
End of Lecture #6
25
Descargar

repeticion