4,52/5
(83 opiniones)
|12480 alumnos|Fecha publicación: 07/09/2004
Las estructuras de control de Java son similares a las de C. Tenemos las estructuras de control condicionales y repetitivas clásicas de la programación estructurada.
La estructura de control más básica es if/else, que tiene la siguiente forma:
if (condición) {
sentencias;
} else {
sentencias;
}
Mediante esta estructura condicional, podemos
ejecutar un código u otro dependiendo de si se cumple una condición
concreta. La segunda parte de la estructura (else)
es opcional. Las siguientes líneas muestran un ejemplo de uso de la
estructura if/else.
if (vidas == 0) {
terminar = true;
} else {
vidas--;
}
En este ejemplo, si la variable vidas vale 0, la
variable terminar tomará el valor true. En otro caso, se decrementa
el valor de la variable vidas.
La otra estructura condicional es switch, que permite un control condicional múltiple. Tiene el formato siguiente.
switch (expresión) {
case val1:
sentencias;
break;
case val2:
sentencias;
break;
case valN:
sentencias;
break;
default:
sentencias;
break;
}
Dependiendo del valor que tome la expresión, se ejecutará un código
determinado por la palabra reservada case. Observa como al final de
las sentencias se incluye la palabra reservada break, que hace que
no se siga ejecutando el código perteneciente al siguiente bloque.
Si el valor de la expresión no coincide con ninguno de los bloques,
se ejecuta el bloque default. Lo veremos mejor con un ejemplo.
switch (posicion) {
case 1:
medalla = "oro";
break;
case 2:
medalla = "plata";
break;
case 3:
medalla = "bronce";
break;
default:
medalla = "sin medalla";
break;
}
Las estructuras que hemos visto hasta ahora nos
permiten tomar decisiones. Las siguientes que vamos a ver nos van a
permitir realizar acciones repetitivas. Son los llamados bucles. El
bucle más sencillo es el bucle for.
for (inicialización_contador ; control ; incremento)
{
sentencias;
}
Este bucle ejecuta el bloque de sentencias un número determinado de
veces.
[
for (i=1 ; i<=10 ; i++) {
suma+=i;
}
Este ejemplo de código suma los 10 primero números. La variable i lleva la cuenta, es decir, es el contador del bucle. En la primera sección nos encargamos de inicializar la variable con el valor 1. La segunda sección es la condición que ha de darse para que se continúe la ejecución del bucle, en este caso, mientras i sea menor o igual a 10, se estará ejecutando el bucle. La tercera sección es la encargada de incrementar la variable en cada vuelta.
El siguiente bucle que te voy a presentar es el bucle while y tiene la siguiente estructura.
while (condición) {
sentencias;
}
El bloque de sentencias se ejecutará mientras se cumpla la
condición del bucle.
vueltas = 10;
while (vueltas > 0) {
vueltas--;
}
A la entrada del bucle, la variable vueltas tiene el valor 10.
Mientras el valor de esta variable sea mayor que 0, se va a repetir
el bloque de código que contiene. En este caso, el bloque de código
se encarga de decrementar la variable vuelta, por lo que cuando su
valor llegue a 0, no volverá a ejecutarse. Lo que estamos haciendo
es simular un bucle for que se ejecuta 10 veces.
El bucle do/while funciona de forma similar al anterior, pero hace la comprobación a la salida del bucle.
do {
sentencias;
} while (condición);
El siguiente ejemplo, es igual que el anterior. La diferencia entre
ambos es que con el bucle do/while, el código se ejecutará siempre
al menos una vez, ya que la comprobación se hace al final, mientras
que con el bucle while, es posible que nunca se ejecute el código
interno si no se cumple la condición.
vueltas = 10;
do {
vueltas--;
} while(vueltas > 0);
Veamos una última estructura propia de Java (no existe en C) y que
nos permite ejecutar un código de forma controlada. Concretamente
nos permite tomar acciones específicas en caso de error de
ejecución en el código.
try {
sentencias;
} catch (excepción) {
sentencias;
}
Si el código incluido en el primer bloque de código produce algún
tipo de excepción, se ejecutará el código contenido en el segundo
bloque de código. Una excepción es un tipo de error que Java es
capaz de controlar por decirlo de una forma sencilla, realmente,
una excepción es un objeto de la clase Exception. Si por ejemplo,
dentro del primer bloque de código intentamos leer un archivo, y no
se encuentra en la carpeta especificada, el método encargado de
abrir el archivo lanzará una excepción del tipo
IOException.
Estructuras de datos
Ya hemos visto los tipos de datos que soporta Java. Ahora vamos a
ver un par de estructuras muy útiles. Concretamente la cadena de
caracteres y los arrays.
Una cadena de caracteres es una sucesión de caracteres continuos. Van encerrados siempre entre comillas. Por ejemplo:
"En un lugar de La Mancha..."
Es una cadena de caracteres. Para almacenar una cadena, Java
dispone del tipo String.
String texto;
Una vez declarada la variable, para asignarle un valor, lo hacemos
de la forma habitual.
texto = "Esto es un texto";
Podemos concatenar dos cadenas utilizando el operador +. También
podemos concatenar una cadena y un tipo de datos distinto. La
conversión a cadena se hace de forma automática.
String texto;
int vidas;
texto = "Vidas:" + vidas;
Podemos conocer la longitud de una variable de tipo String
(realmente un objeto de tipo String) haciendo uso de su método
lenght.
longitud = texto.lenght();
El otro tipo de datos que veremos a continuación es el array. Un
array nos permite almacenar varios elementos de un mismo tipo bajo
el mismo nombre. Imagina un juego multijugador en el que pueden
participar cinco jugadores a la vez. Cada uno llevará su propio
contador de vidas. Mediante un array de 5 elementos de tipo entero
(int) podemos almacenar estos datos. La declaración de un array se
hace así.
public int[] vidas;
vidas = new int[5];
o directamente:
public int[] vidas = new int[5];
Hemos declarado un array de cinco elementos llamado vidas formado
por cinco números enteros. Si quisiéramos acceder, por ejemplo, al
tercer elemento del array, lo haríamos de la siguiente manera.
v = vidas[3];
La variable v tomará el valor del tercer elemento del array. La
asignación de un valor es exactamente igual a la de cualquier
variable.
vidas[3] -= 1;
El siguiente ejemplo muestra el uso de los arrays.
tmp = 0;
for (i=1 ; i<=puntos.lenght ; i++) {
if (tmp < puntos[i]) {
tmp = puntos[i];
}
}
record = tmp;
En este ejemplo, el bucle for recorre todos los elementos del array puntos que contiene los puntos de cada jugador (el método lenght nos devuelve el número de elementos el array). Al finalizar el bucle, la variable tmp contendrá el valor de la puntuación más alta.
Hay 83 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Funciones en C (primera parte) Curso de programacíon informática sobre Funciones en C en el orden de los fundamentos de la programación. Comprende el desarrollo de un software utilizando funciones y a ... [17/10/08] |
|
2.816 | ||
|
Procesos en C. Sincronización (primera parte) Curso de informática sobre sincronización de procesos en C y señales en linux que te ofrece la posibilidad de comprender los mecanismos de comunicación entre procesos inf... [21/10/08] |
|
993 | ||
|
Java Java nació con el deseo por parte de Sun de buscar un lenguaje de programación enfocado a electrodomésticos. Se necesitaba alg&uacu... [23/04/04] |
|
49.291 | ||
Publicar en
del.icio.us
digg
meneame