Beruflich Dokumente
Kultur Dokumente
Estructuras básicas
de control
Índice:
1. Introducción ................................................................................................ 2
2. Estructuras de selección ............................................................................. 3
2.1. Estructuras if ....................................................................................... 3
2.2. Switch.................................................................................................. 5
3. Estructuras de repetición ............................................................................ 5
3.1. Bucle while .......................................................................................... 5
3.2. Bucle do while ..................................................................................... 6
3.3. Bucle for .............................................................................................. 6
4. Estructuras de salto .................................................................................... 7
4.1. Sentencias break y continue ............................................................... 7
4.2. Sentencias break y continue con etiquetas......................................... 7
4.3. Sentencia return.................................................................................. 9
5. Control de excepciones............................................................................... 9
6. Prueba y depuración de aplicaciones ....................................................... 10
6.1. Fallos del software ............................................................................ 10
7. Documentación de programas .................................................................. 11
8. Programación de la consola: E/S de información ..................................... 13
9. Ejemplo completo ..................................................................................... 15
1
1. Introducción
Un programa de computador se puede definir como una secuencia
ordenada de instrucciones dedicadas a ejecutar un tarea. Debido a esto,
aparece el concepto de flujo de ejecución de un programa, que define el orden
que siguen las sentencias durante la ejecución del mismo.
{
contador =0;
contador = contador + 1;
}
constituye una secuencia de instrucciones compuesta por dos sentencias.
2. Estructuras de selección
2.1. Estructuras if
También llamada estructura de bifurcación, se utiliza cuando en un punto
del programa re requiere que se elija entre dos o más acciones distintas, en
función de alguna condición determinada. El orden físico y lógico de las
sentencias no coinciden. En Java existen tres tipos de estructuras if (if, if-else y
if-elseif-else)
3
Un ejemplo de la utilización de estas estructuras es el siguiente:
int a = 4;
if (a = = 4) {
System.out.println(“La variable es igual a 4”);
}
if (a > 5) {
System.out.println(“La variable es mayor a 5”);
} else {
System.out.println(“La variable es menor que 6”);
}
if (a > 5) {
System.out.println(“La variable es mayor a 5”);
} else
if (a = = 5){
System.out.println(“La variable es igual a 5”);
} else {
System.out.println(“La variable es menor que 5”);
}
2.2. Switch
El switch es una estructura de selección múltiple permite presentar
varias acciones alternativas y elegir una de ellas en tiempo de ejecución. La
selección se realiza por comparación entre una expresión y las constantes
correspondientes a las distintas acciones a seguir.
Los break son opcionales, pero deben usarse si se quiere que detenga la
ejecución del case correspondiente. Si no se incluyen los break, seguirá la
ejecución hasta que encuentre la llave del cierre del switch.
3. Estructuras de repetición
Las estructuras de repetición o bucles se utilizan cuando una o varias
sentencias han de ser ejecutadas cero, una o más veces. En Java se realizan
con las sentencias: while, do-while y for. Se debe tener cuidado en las
expresiones booleanas de los bucles para que no se produzcan bucles infinitos
(siempre tienen la condición lógica verdadera). De ser así, el programa se queda
ejecutando el bucle para siempre y no acaba hasta que se mate el proceso.
5
while (boolexp) {
sentencias;
}
do {
sentencias;
} while (boolexp);
4. Estructuras de salto
7
Un ejemplo de break con etiquetas es el siguiente:
public class proba {
//Un ejemplo de break con etiquetas es el siguiente:
public static void main (String argv[]){
int i = 0;
bucleext:
while ( i < 100){
i ++;
for ( int j = 0; j < i; j++) {
if ( i== 5) { break bucleext;}
System.out.print( "*" );
}
System.out.println( "" );
}
}
}
5. Control de excepciones
El control de excepciones permite al programador controlar la ejecución del
programa evitando que éste falle de forma inesperada. El formato de la
estructura del control de excepciones es el siguiente:
try {
sentencias a proteger
} catch (exception_1) {
control de excepción 1
}
……….
catch (exception_n) {
control de excepción n
} [finally {
control opcional
}]
El programa intentará proteger las sentencias situadas dentro del bloque
try, en el caso de que ocurra un error se intentará controlar la excepción
mediante los bloques catch (dependiendo de la instrucción se ejecutará un
bloque de código u otro). El bloque finally es opcional, pero en caso de existir
éste se ejecutará siempre.
Veamos un ejemplo:
class test
{
public static void main (String [ ] args)
{
int a = 10, b = 0, c;
c = a/b;
System.out.println( “Resultado: ”+c);
}
}
9
Una forma de controlar esta situación es la siguiente:
class test
{
public static void main (String [ ] args)
{
int a = 10, b = 0, c;
try {
c = a/b;
}
catch (AritmeticException e) {
System.out.println( “Error: ”+ e.getMessage( ) );
return;
}
System.out.println( “Resultado: ”+ c);
}
Estas pruebas se integran dentro de las diferentes fases del ciclo de vida
del software y es habitual que este proceso de pruebas se inicie desde el mismo
momento que empieza el desarrollo y continúe hasta que finalice el mismo.
7. Documentación de programas
La documentación es el conjunto de manuales impresos o digitales y otra
información descriptiva que explique un programa o aplicación informática.
11
comunicación, etc.
- la clase BufferedReader.
- la clase Scanner.
- la clase JOptionPane.
13
Otra forma de leer datos desde teclado es la siguiente:
String sdato = System.console( ).readLine( ); //lectura de un string
dato = Integer.parseInt(sdato); // convierte un string a entero
9. Ejemplo completo
import java.io.*;
/*Este programa lee tres números positivos y los ordena de menor a mayor*/
do {
System.out.println ("Introduce un número: ");
BufferedReader entrada = new BufferedReader(new InputStreamReader
(System.in));
n2 = Integer.parseInt(entrada.readLine());
}while (n2<0);
do {
15
System.out.println ("Introduce un número: ");
BufferedReader entrada = new BufferedReader(new InputStreamReader
(System.in));
n3 = Integer.parseInt(entrada.readLine());
}while (n3<0);
if (n1<n2)
if (n2<n3)
System.out.println (n1+ " < " +n2 + " < " +n3);
else
if (n1<n3)
System.out.println (n1+ " < " +n3 + " < " +n2);
else
System.out.println (n3+ " < " +n1 + " < " +n2);
else
if (n1<n3)
System.out.println (n2+ " < " +n1 + " < " +n3);
else
if (n2<n3)
System.out.println (n2+ " < " +n3 + " < " +n1);
else
System.out.println (n3+ " < " +n2 + " < " +n1);
}
}
Otro ejemplo que recoge las tres formas de entrada por teclado podría ser:
import javax.swing.JOptionPane; //
import java.util.Scanner; //
import java.io.*; //