12.185 cursos gratis
8.727.878 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Programación de juegos para móviles con J2ME

Autor: Alberto García Serrano
Curso:
9/10 (85 opiniones) |34232 alumnos|Fecha publicación: 07/09/2004

Capítulo 6:

 Estructuras de control


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.

Capítulo siguiente - Nuestro primer MIDlet
Capítulo anterior - Herencia

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Programación de juegos para móviles con J2ME


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Flash. Programación de juegos
Tutorial de Flash , es lo que podrás aprender hoy en nuestro nuevo curso de... [24/06/11]
257
Curso con video
2. Programación en C++
C++ es un potente lenguaje de programación que apareció en 1980, continuando con... [04/06/04]
69.596  
3. Programación estructurada
Este curso les ayudará a tener conceptos básicos de la programación. Estos... [25/04/07]
3.025  

¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Recibir novedades de Programación? ¡No te costará nada!